Skip to content

Commit

Permalink
added format as 2nd argument on getDateRange method
Browse files Browse the repository at this point in the history
  • Loading branch information
Elegi Sandi committed Apr 23, 2018
1 parent af855c8 commit 9690697
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 22 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,15 @@ AWS Elasticsearch Service for Laravel/Lumen

> returns `Array`
* getDateRange($range)
* getDateRange($range, $format = null)

> **$format** must be a valid date format, default is `null` which will return a DateTime instance
> returns `Array`
* setAggregationDailyDateRanges($start, $end, $format = null)

> **$format** must be a valid date format, default is `null` which will return unix timestamp value
> **$format** must be a valid date format, default is `null` which will return a DateTime instance
> returns `Array`
Expand Down
2 changes: 1 addition & 1 deletion src/ElasticSearchFacade.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* @method static array search(array $query = [], array $options = [], array $range = [], $type = null, $index = null)
* @method static array count(array $query = [], array $range = [], $type = null, $index = null)
* @method static array setSearchParams(Request $request, array $defaults = [], $type = null)
* @method static array getDateRange($range)
* @method static array getDateRange($range, $format = null)
* @method static array setAggregationDailyDateRanges($start, $end, $format = null)
* @method static array defaultAggregationNames
* @method static string defaultIndex
Expand Down
43 changes: 24 additions & 19 deletions src/Traits/ElasticSearchHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,51 +132,57 @@ private function setSearchParams(Request $request, array $defaults = [], $type)

/**
* @param string $range
* @param string|null $format
* @return array
*/
protected function getDateRange($range)
protected function getDateRange($range, $format = null)
{
switch ($range) {
case 'today':
$start = Carbon::now()->startOfDay()->toDateString();
$end = Carbon::now()->endOfDay()->toDateString();
$start = Carbon::now()->startOfDay();
$end = Carbon::now()->endOfDay();
break;

case 'yesterday':
$start = Carbon::yesterday()->startOfDay()->toDateString();
$end = Carbon::yesterday()->endOfDay()->toDateString();
$start = Carbon::yesterday()->startOfDay();
$end = Carbon::yesterday()->endOfDay();
break;

case 'this-month':
$start = Carbon::now()->startOfMonth()->startOfDay()->toDateString();
$end = Carbon::now()->endOfDay()->toDateString();
$start = Carbon::now()->startOfMonth()->startOfDay();
$end = Carbon::now()->endOfDay();
break;

case 'last-month':
$start = Carbon::now()->subMonth()->startOfMonth()->startOfDay()->toDateString();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay()->toDateString();
$start = Carbon::now()->subMonth()->startOfMonth()->startOfDay();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay();
break;

case 'last-2-months':
$start = Carbon::now()->subMonths(2)->startOfMonth()->startOfDay()->toDateString();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay()->toDateString();
$start = Carbon::now()->subMonths(2)->startOfMonth()->startOfDay();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay();
break;

case 'last-3-months':
$start = Carbon::now()->subMonths(3)->startOfMonth()->startOfDay()->toDateString();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay()->toDateString();
$start = Carbon::now()->subMonths(3)->startOfMonth()->startOfDay();
$end = Carbon::now()->subMonth()->endOfMonth()->endOfDay();
break;

default: // last-7-days
$start = Carbon::now()->subWeek()->startOfDay()->toDateString();
$end = Carbon::yesterday()->endOfDay()->toDateString();
$start = Carbon::now()->subWeek()->startOfDay();
$end = Carbon::yesterday()->endOfDay();
break;
}

if ($format) {
$start = $start->format($format);
$end = $end->format($format);
}

return compact('start', 'end');
}

/**
/**$format
* @param string|Carbon $start
* @param string|Carbon $end
* @param string|null $format
Expand All @@ -202,10 +208,9 @@ protected function setAggregationDailyDateRanges($start, $end, $format = null)
// count number of days
$num_of_days = $start->diffInDays($end);

// set date format if any,
// else set unix timestamp
// set date format if any
$format_date = function ($date) use ($format) {
return $format ? $date->format($format) : $date->timestamp;
return $format ? $date->format($format) : $date;
};

// add date range (from, to)
Expand Down

0 comments on commit 9690697

Please sign in to comment.