ultimatepos/Modules/Connector/Http/Controllers/Api/UnitController.php

131 lines
3.7 KiB
PHP

<?php
namespace Modules\Connector\Http\Controllers\Api;
use App\Unit;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Modules\Connector\Transformers\CommonResource;
/**
* @group Unit management
* @authenticated
*
* APIs for managing units
*/
class UnitController extends ApiController
{
/**
* List units
*
* @response {
"data": [
{
"id": 1,
"business_id": 1,
"actual_name": "Pieces",
"short_name": "Pc(s)",
"allow_decimal": 0,
"base_unit_id": null,
"base_unit_multiplier": null,
"created_by": 1,
"deleted_at": null,
"created_at": "2018-01-03 15:15:20",
"updated_at": "2018-01-03 15:15:20",
"base_unit": null
},
{
"id": 2,
"business_id": 1,
"actual_name": "Packets",
"short_name": "packets",
"allow_decimal": 0,
"base_unit_id": null,
"base_unit_multiplier": null,
"created_by": 1,
"deleted_at": null,
"created_at": "2018-01-06 01:07:01",
"updated_at": "2018-01-06 01:08:36",
"base_unit": null
},
{
"id": 15,
"business_id": 1,
"actual_name": "Dozen",
"short_name": "dz",
"allow_decimal": 0,
"base_unit_id": 1,
"base_unit_multiplier": "12.0000",
"created_by": 9,
"deleted_at": null,
"created_at": "2020-07-20 13:11:09",
"updated_at": "2020-07-20 13:11:09",
"base_unit": {
"id": 1,
"business_id": 1,
"actual_name": "Pieces",
"short_name": "Pc(s)",
"allow_decimal": 0,
"base_unit_id": null,
"base_unit_multiplier": null,
"created_by": 1,
"deleted_at": null,
"created_at": "2018-01-03 15:15:20",
"updated_at": "2018-01-03 15:15:20"
}
}
]
}
*/
public function index()
{
$user = Auth::user();
$business_id = $user->business_id;
$units = Unit::where('business_id', $business_id)
->with(['base_unit'])
->get();
return CommonResource::collection($units);
}
/**
* Get the specified unit
*
* @urlParam unit required comma separated ids of the units Example: 1
* @response {
"data": [
{
"id": 1,
"business_id": 1,
"actual_name": "Pieces",
"short_name": "Pc(s)",
"allow_decimal": 0,
"base_unit_id": null,
"base_unit_multiplier": null,
"created_by": 1,
"deleted_at": null,
"created_at": "2018-01-03 15:15:20",
"updated_at": "2018-01-03 15:15:20",
"base_unit": null
}
]
}
*/
public function show($unit_ids)
{
$user = Auth::user();
$business_id = $user->business_id;
$unit_ids = explode(',', $unit_ids);
$units = Unit::where('business_id', $business_id)
->whereIn('id', $unit_ids)
->with(['base_unit'])
->get();
return CommonResource::collection($units);
}
}