File "api.php"
Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/routes/api.php
File size: 20.6 KB
MIME-type: text/x-php
Charset: utf-8
<?php
use App\Http\Controllers\APIController;
use App\Http\Controllers\VerifyEmailController;
use Illuminate\Support\Facades\Route;
// Verify email
Route::get('/email/verify/{id}/{hash}', [VerifyEmailController::class, '__invoke'])
->middleware(['signed', 'throttle:6,1'])
->name('verification.verify');
Route::group(['prefix' => 'v1', 'as' => 'api.'], function () {
Route::post('login', [APIController::class, 'login']);
Route::post('register', [APIController::class, 'register']);
Route::post('forgot-password', [APIController::class, 'forgot_password']);
Route::post('reset-password', [APIController::class, 'reset_password']);
Route::get('verify-email', [APIController::class, 'verifyEmail']);
Route::post('email/verify/resend', [APIController::class, 'resendVerificationEmail'])->middleware('throttle:6,1');
});
//No Auth Required Routes Within Admin Namespace
Route::group(['prefix' => 'v1', 'as' => 'api.', 'namespace' => 'Api\V1\Admin'], function () {
//Get Shipping Services
Route::get('get-available-services', 'OrderApiController@getServices');
Route::post('get-shipping-quote', 'OrderApiController@getShippingQuote');
// Contact Us
Route::post('submit-query', 'ContactUsApiController@store');
Route::get('get-partners', 'OurPartnerApiController@get_partners');
Route::get('get-parent-categories', 'CategoryApiController@get_parent_categories');
Route::get('get-child-categories-by-id/{id}', 'CategoryApiController@get_child_categories');
Route::get('category-tree', 'CategoryApiController@categories_tree');
//Available Store Locations
Route::get('available-store-locations', 'StoreLocationsApiController@available_locations');
// States
Route::get('get-states', 'SalesTaxApiController@states');
Route::get('get-departments', 'ContactUsApiController@getDepartments');
Route::get('verify-coupon/{code}', 'CouponApiController@verifyCoupon');
Route::post('validate-product-quantity', 'OrderApiController@checkProductQuantity');
});
Route::group(['prefix' => 'v1', 'as' => 'api.', 'namespace' => 'Api\V1\Admin', 'middleware' => ['auth:sanctum', 'verified']], function () {
// Logout
Route::post('logout', [APIController::class, 'logout']);
//Update Password
Route::post('change-password', [APIController::class, 'update_password']);
Route::post('calculate-order-totals', 'OrderApiController@getOrderTotals');
// User Address Book
Route::get('address-books', 'AddressBookApiController@index');
Route::post('add-address-book', 'AddressBookApiController@store');
Route::put('update-address-book-by-id/{address_book}', 'AddressBookApiController@update');
Route::get('get-address-book-by-id/{address_book}', 'AddressBookApiController@show');
Route::delete('delete-address-book-by-id/{address_book}', 'AddressBookApiController@destroy');
Route::get('get-all-address-books', 'AddressBookApiController@my_addresses');
Route::get('get-user-addresses/{user_id}', 'AddressBookApiController@get_user_address');
// User Reviews
Route::get('my-reviews', 'ReviewsApiController@myReviews');
Route::post('submit-review', 'ReviewsApiController@store');
Route::put('edit-review/{review}', 'ReviewsApiController@editReview');
Route::delete('delete-review/{review}', 'ReviewsApiController@deleteReview');
//Admin Routes
Route::group(['prefix' => 'admin', 'middleware' => 'can_access'], function () {
Route::get('dashboard', 'DashboardApiController@index');
// User
Route::post('users/media', 'UsersApiController@storeMedia')->name('users.storeMedia');
Route::get('get-all-users', 'UsersApiController@index');
Route::post('add-user', 'UsersApiController@store');
Route::put('edit-user-by-id/{user}', 'UsersApiController@update');
Route::get('get-user-by-id/{user}', 'UsersApiController@show');
Route::get('get-user-types', 'UsersApiController@get_user_types');
Route::get('get-employees', 'UsersApiController@get_employees');
Route::get('get-customers', 'UsersApiController@get_customers');
Route::get('get-user-reminder-durations', 'UsersApiController@get_user_durations');
Route::get('toggle-user-status/{id}', 'UsersApiController@change_status');
// Role
Route::get('get-all-roles', 'RolesApiController@index');
Route::post('add-role', 'RolesApiController@store');
Route::put('edit-role-by-id/{role}', 'RolesApiController@update');
Route::get('get-role-by-id/{role}', 'RolesApiController@show');
// Permission
Route::get('get-all-permissions', 'PermissionsApiController@index');
// Category
Route::post('categories/media', 'CategoryApiController@storeMedia')->name('categories.storeMedia');
Route::get('get-all-categories', 'CategoryApiController@index');
Route::post('add-category', 'CategoryApiController@store');
Route::put('edit-category-by-id/{category}', 'CategoryApiController@update');
Route::get('get-category-by-id/{category}', 'CategoryApiController@show');
Route::get('toggle-category-status/{category}', 'CategoryApiController@change_status');
// Route::delete('delete-category-by-id/{category}', 'CategoryApiController@destroy');
// Product
Route::post('products/media', 'ProductApiController@storeMedia')->name('products.storeMedia');
Route::get('get-all-products', 'ProductApiController@index');
Route::get('get-all-product-list', 'ProductApiController@getProductsForOrder');
Route::get('get-product-details/{product}', 'ProductApiController@getProductDetails');
Route::post('add-product', 'ProductApiController@store');
Route::post('edit-product-by-id/{product}', 'ProductApiController@update');
Route::get('get-product-by-id/{product}', 'ProductApiController@show');
Route::get('toggle-product-status/{product}', 'ProductApiController@change_status');
Route::get('copy-product/{product}', 'ProductApiController@cloneProduct');
Route::post('delete-product/{product}', 'ProductApiController@deleteProduct');
Route::get('check-combination-in-order/{priceId}', 'ProductApiController@checkCombinationInOrder');
// Order
Route::get('get-all-orders', 'OrderApiController@index');
Route::post('add-order', 'OrderApiController@store');
Route::post('add-products-to-order', 'OrderApiController@addProductsToOrder');
Route::get('get-order-by-id/{order}', 'OrderApiController@show');
Route::get('get-order-info-by-id/{order}', 'OrderApiController@showOrderInfo');
Route::get('get-order-shipping-label/{order}', 'OrderApiController@getOrderShippingLabel');
Route::post('edit-order-by-id/{order}', 'OrderApiController@update');
Route::post('waive-off-order-tax/{order}', 'OrderApiController@waive_off_sales_tax');
Route::post('update-order-status/{order}', 'OrderApiController@update_order_status');
Route::post('update-order-book-number/{order}', 'OrderApiController@updateBookingNumber');
Route::post('update-order-payment-status/{order}', 'OrderApiController@update_order_payment');
Route::post('update-order-quote-status/{order}', 'OrderApiController@update_order_type');
Route::post('update-order-date-scheduled/{order}', 'OrderApiController@update_date_scheduled');
Route::post('update-order-date-ship-by/{order}', 'OrderApiController@update_date_ship_by');
Route::post('assign-order/{order}', 'OrderApiController@assign_order');
Route::get('copy-order/{order}', 'OrderApiController@copyOrder');
Route::post('add-order-note/{order}', 'OrderApiController@orderNotes');
Route::get('get-order-notes/{order}', 'OrderApiController@getOrderNotes');
Route::get('get-payment-types', 'OrderApiController@getPaymentTypes');
Route::get('get-payment-modes', 'OrderApiController@getPaymentModes');
Route::get('get-waive-off-reasons', 'OrderApiController@getWaiveOffReasons');
Route::get('get-payment-statuses', 'OrderApiController@getPaymentStatuses');
Route::post('add-order-payment/{order}', 'OrderApiController@add_order_payment');
Route::post('order-item-customization-svg', 'OrderApiController@getOrderItemCustomizationSvg');
// Pay Junction customer stored vaults
Route::get('get-customer-vaults', 'OrderApiController@getCustomerVaults');
Route::get('work-order/{order}', 'OrderApiController@getWorkOrder');
Route::post('delete-order/{order}', 'OrderApiController@deleteOrder');
Route::post('/add-order-partial-payment/{order}', 'OrderApiController@addOrderPartialPayment');
Route::post('/delete-order-partial-payment/{order_partial_payment}', 'OrderApiController@deleteOrderPartialPayment');
Route::post('check-item-price-change', 'OrderApiController@checkItemPriceChange');
// Order Invoices
Route::get('get-all-invoices', 'OrderInvoiceController@index');
Route::get('generate-order-invoice/{order}', 'OrderApiController@generateInvoice');
Route::get('send-order-invoice/{order}', 'OrderInvoiceController@sendInvoice');
Route::get('view-order-invoice/{order}', 'OrderApiController@viewInvoice');
// Status
Route::get('get-available-order-status', 'StatusApiController@index');
// State Sales Tax
Route::get('get-all-states', 'SalesTaxApiController@index');
Route::get('get-state-by-id/{state_sales_tax}', 'SalesTaxApiController@show');
Route::put('update-state-by-id/{state_sales_tax}', 'SalesTaxApiController@update');
// Vendors
Route::get('get-all-vendors', 'VendorsApiController@index');
Route::get('get-active-vendors', 'VendorsApiController@getVendors');
Route::post('add-vendor', 'VendorsApiController@store');
Route::put('edit-vendor-by-id/{vendor}', 'VendorsApiController@update');
Route::get('get-vendor-by-id/{vendor}', 'VendorsApiController@show');
// Store Locations
Route::get('get-all-store-locations', 'StoreLocationsApiController@index');
Route::post('add-store-location', 'StoreLocationsApiController@store');
Route::put('edit-store-location-by-id/{store_location}', 'StoreLocationsApiController@update');
Route::get('get-store-location-by-id/{store_location}', 'StoreLocationsApiController@show');
Route::get('toggle-store-location-status/{store_location}', 'StoreLocationsApiController@toggleStatus');
Route::get('get-available-store-locations', 'StoreLocationsApiController@available_locations');
// Stock Locations
Route::get('get-all-stock-locations', 'StockLocationApiController@index');
Route::post('add-stock-location', 'StockLocationApiController@store');
Route::put('edit-stock-location-by-id/{stock_location}', 'StockLocationApiController@update');
Route::get('get-stock-location-by-id/{stock_location}', 'StockLocationApiController@show');
Route::get('toggle-stock-location-status/{stock_location}', 'StockLocationApiController@toggleStatus');
Route::get('get-available-stock-locations', 'StockLocationApiController@available_locations');
// Contact Us
Route::get('contact-queries', 'ContactUsApiController@index');
Route::get('get-contact-query-by-id/{contact_query}', 'ContactUsApiController@show');
Route::delete('delete-contact-query-by-id/{contact_query}', 'ContactUsApiController@destroy');
Route::post('update-contact-queries-status', 'ContactUsApiController@updateContactQueryStatus');
// Site Settings
Route::get('get-all-site-settings', 'SiteSettingApiController@index');
Route::put('edit-site-setting-by-id/{site_setting}', 'SiteSettingApiController@update');
Route::get('get-site-setting-by-id/{site_setting}', 'SiteSettingApiController@show');
// Product Reviews
Route::get('get-all-reviews', 'ReviewsApiController@index');
Route::get('get-review-by-id/{review}', 'ReviewsApiController@show');
Route::put('edit-review-by-id/{review}', 'ReviewsApiController@update');
Route::delete('delete-review-by-id/{review}', 'ReviewsApiController@destroy');
// Partners
Route::get('get-partner-list', 'OurPartnerApiController@index');
Route::get('get-partner-by-id/{our_partner}', 'OurPartnerApiController@show');
Route::post('add-partner', 'OurPartnerApiController@store');
Route::put('edit-partner-by-id/{our_partner}', 'OurPartnerApiController@update');
Route::delete('delete-partner-by-id/{our_partner}', 'OurPartnerApiController@destroy');
// Variations
Route::get('get-all-variations', 'VariationApiController@index');
Route::get('get-active-variations', 'VariationApiController@activeVariations');
Route::post('add-variation', 'VariationApiController@store');
Route::put('edit-variation-by-id/{variation}', 'VariationApiController@update');
Route::get('get-variation-by-id/{variation}', 'VariationApiController@show');
// Purchase Orders
Route::get('get-all-purchase-orders', 'PurchaseOrderApiController@index');
Route::get('get-purchase-orders-report-pdf', 'PurchaseOrderApiController@poReport');
Route::post('create-purchase-order', 'PurchaseOrderApiController@store');
Route::get('get-purchase-order-details/{purchase_order}', 'PurchaseOrderApiController@show');
Route::get('get-purchase-order-statuses', 'PurchaseOrderApiController@get_po_statuses');
Route::get('get-shipping-speed', 'PurchaseOrderApiController@get_shipping_speed');
Route::get('get-payment-terms', 'PurchaseOrderApiController@get_payment_terms');
Route::get('get-purchase-order-addresses', 'PurchaseOrderApiController@get_po_addresses');
Route::get('get-purchase-order-items', 'PurchaseOrderApiController@get_purchase_order_items');
Route::post('mark-purchase-order-received/{purchase_order}', 'PurchaseOrderApiController@change_po_status');
Route::post('delete-purchase-order-item', 'PurchaseOrderApiController@removePOItem');
Route::post('edit-purchase-order-admin-notes/{purchase_order}', 'PurchaseOrderApiController@editAdminNotes');
// Product Excel Import
Route::get('imported-products', 'ProductsImportController@index');
Route::post('import-bulk-products', 'ProductsImportController@import_products');
// Reports
Route::get('sales-tax-report', 'ReportsApiController@salesTaxReport');
Route::get('sales-tax-exemption-report', 'ReportsApiController@salesTaxExemptionReport');
Route::get('sales-tax-exemption-report-pdf', 'ReportsApiController@salesTaxExemptionReportPDF');
Route::get('sales-report', 'ReportsApiController@salesReport');
Route::get('jobs-completed-report', 'ReportsApiController@jobsCompleted');
Route::get('year-over-year-report', 'ReportsApiController@yearOverYearSales');
// Route::get('payment-transaction-report', 'ReportsApiController@paymentTransactionReport');
Route::get('sales-comparison-report', 'ReportsApiController@salesComparisonReport');
Route::get('sales-comparison-report-pdf', 'ReportsApiController@getSaleComparisonPDF');
Route::get('sales-tax-comparison-report', 'ReportsApiController@saleTaxComparison');
Route::get('sales-tax-comparison-report-pdf', 'ReportsApiController@getSaleTaxComparisonPDF');
Route::get('jobs-completed-comparison-report', 'ReportsApiController@getJobCompletedComparison');
Route::get('jobs-completed-comparison-report-pdf', 'ReportsApiController@getJobCompletedComparisonPDF');
Route::get('payment-transaction-report', 'ReportsApiController@getPaymentCollectionReport');
Route::get('payment-transaction-report-pdf', 'ReportsApiController@getPaymentCollectionReportPDF');
Route::get('top-selling-products', 'ReportsApiController@getTopSellingProducts');
Route::get('outstanding-orders-report', 'ReportsApiController@outstandingOrderReport');
Route::get('outstanding-orders-report-pdf', 'ReportsApiController@outstandingOrderReportPDF');
Route::get('top-selling-products-v2/{field}/{sort}', 'ReportsApiController@getTopSellingProductsV2')
->where(['field' => 'total_quantity|total_price', 'sort' => 'asc|desc']);
Route::get('top-selling-products-pdf-v2/{field}/{sort}', 'ReportsApiController@getTopSellingProductsV2PDF')
->where(['field' => 'total_quantity|total_price', 'sort' => 'asc|desc']);
Route::get('sales-tax-summarization-report', 'ReportsApiController@saleTaxSummarization');
Route::get('sales-tax-summarization-report-pdf', 'ReportsApiController@getSaleTaxSummarizationPDF');
// Coupons
Route::get('get-all-coupons', 'CouponApiController@index');
Route::post('add-coupon', 'CouponApiController@store');
Route::put('edit-coupon-by-id/{coupon}', 'CouponApiController@update');
Route::get('get-coupon-by-id/{coupon}', 'CouponApiController@show');
Route::get('toggle-coupon-status/{coupon}', 'CouponApiController@toggleStatus');
Route::get('get-all-office-supplies', 'OfficeSuppliesApiController@index');
Route::post('add-office-supply', 'OfficeSuppliesApiController@store');
Route::post('edit-office-supply-by-id/{office_supply}', 'OfficeSuppliesApiController@update');
Route::get('get-office-supply-by-id/{office_supply}', 'OfficeSuppliesApiController@show');
Route::get('toggle-office-supply-status/{office_supply}', 'OfficeSuppliesApiController@toggleStatus');
Route::get('get-active-office-supplies', 'OfficeSuppliesApiController@getActiveOfficeSupplies');
});
});
Route::group(['prefix' => 'v1', 'as' => 'api.', 'namespace' => 'Api\V1\User'], function () {
Route::get('home', 'HomePageApiController@index');
Route::get('get-top-ranking-and-best-selling', 'HomePageApiController@getTopRankingAndBestSelling');
Route::get('products', 'ProductApiController@index');
Route::get('get-product-by-id/{product}', 'ProductApiController@show');
Route::get('get-product-by-id-test/{product}', 'ProductApiController@show2');
Route::get('get-color-variations', 'ProductApiController@getColorVariations');
Route::get('get-dimension-variations', 'ProductApiController@getDimensionVariations');
Route::post('convert-image', 'HomePageApiController@convertImagePython');
Route::get('get-payment-types', 'OrderApiController@getPaymentTypes');
Route::get('get-canvas-bg', 'HomePageApiController@convertPdfToBase64');
Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
// Me
Route::get('me', [APIController::class, 'get_user']);
Route::post('update-profile', [APIController::class, 'update_profile']);
//Get PayJunction saved files
Route::get('get-my-vaults', 'OrderApiController@getMyVaults');
// Order Management
Route::get('/get-all-orders', 'OrderApiController@index');
Route::get('/order-cancel/{order}', 'OrderApiController@cancelOrder');
Route::get('/order-repeat/{order}', 'OrderApiController@orderRepeat');
Route::post('/add-order', 'OrderApiController@store');
Route::post('/add-order-payment/{order}', 'OrderApiController@addOrderPayment');
Route::post('/approve-order-artwork/{order}', 'OrderApiController@approveOrderArtwork');
Route::get('/get-order-by-id/{order}', 'OrderApiController@show');
Route::get('/generate-customer-order-invoice/{order}', 'OrderApiController@generateInvoice');
Route::delete('/delete-order-by-id/{order}', 'OrderApiController@destroy');
// Wishlist
Route::get('get-wishlist', 'WishlistApiController@index');
Route::post('add-to-wishlist', 'WishlistApiController@store');
Route::delete('delete-wishlist-by-id/{wishlist}', 'WishlistApiController@destroy');
Route::post('delete-wishlist-by-ids', 'WishlistApiController@clearBulkWishlist');
Route::delete('delete-wishlist', 'WishlistApiController@clearWishlist');
// Cart
Route::get('/get-cart', 'CartApiController@index');
Route::post('/add-to-cart', 'CartApiController@store');
Route::get('/get-cart-item-by-id/{cart}', 'CartApiController@show');
Route::post('update-cart-quantity/{cart}', 'CartApiController@update_quantity');
Route::post('update-cart-quantity-bulk', 'CartApiController@update_quantity_bulk');
Route::delete('delete-cart-item-by-id/{cart}', 'CartApiController@destroy');
Route::post('delete-cart-items-by-ids', 'CartApiController@clearBulkCart');
Route::delete('delete-cart', 'CartApiController@clearCart');
});
});