Commit 922e6cf0 authored by James Lopez's avatar James Lopez

refactored code a little based on feedback

parent a05649b1
......@@ -865,7 +865,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `from` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11`. Defaults to 6 months ago. |
| `from` | string | no | Date string in the format YEAR-MONTH-DAY, e.g. `2016-03-11`. Defaults to 6 months ago. |
```bash
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/user/activities
......
......@@ -35,7 +35,7 @@ module API
optional :assignee_id, type: Integer, desc: 'The ID of a user to assign issue'
optional :milestone_id, type: Integer, desc: 'The ID of a milestone to assign issue'
optional :labels, type: String, desc: 'Comma-separated list of label names'
optional :due_date, type: String, desc: 'Date time string in the format YEAR-MONTH-DAY'
optional :due_date, type: String, desc: 'Date string in the format YEAR-MONTH-DAY'
optional :confidential, type: Boolean, desc: 'Boolean parameter if the issue should be confidential'
optional :state_event, type: String, values: %w[open close],
desc: 'State of the issue'
......
......@@ -459,7 +459,7 @@ module API
desc 'Get a list of user activities'
params do
optional :from, type: String, desc: 'Date time string in the format YEAR-MONTH-DAY'
optional :from, type: String, desc: 'Date string in the format YEAR-MONTH-DAY'
use :pagination
end
get ":activities" do
......
......@@ -8,8 +8,8 @@ module Gitlab
@options = { default_per_page: DEFAULT_PER_PAGE,
max_per_page: MAX_PER_PAGE }.merge(options)
@page = sanitize_page(page)
@per_page = sanitize_per_page(per_page)
@page = sanitize_page(page)
end
def total_count
......@@ -53,13 +53,13 @@ module Gitlab
def sanitize_per_page(per_page)
return @options[:default_per_page] unless per_page && per_page > 0
per_page > @options[:max_per_page] ? @options[:max_per_page] : per_page
[@options[:max_per_page], per_page].min
end
def sanitize_page(page)
return 1 unless page && page > 1
page > total_count ? total_count : page
[total_pages, page].min
end
end
end
......@@ -9,7 +9,7 @@ module Gitlab
end
def last_activity_at
@lat_activity_at ||= Time.at(@time).to_s(:db)
@last_activity_at ||= Time.at(@time).to_s(:db)
end
end
end
......
......@@ -4,7 +4,6 @@ module Gitlab
include Gitlab::PaginationUtil
KEY = 'user/activities'
DEFAULT_FROM = 6.months.ago.to_i
def self.record(user)
Gitlab::Redis.with do |redis|
......@@ -28,7 +27,7 @@ module Gitlab
def sanitize_date(date)
Time.strptime(date, "%Y-%m-%d").to_i
rescue TypeError, ArgumentError
DEFAULT_FROM
default_from
end
def pagination_delegate
......@@ -52,6 +51,10 @@ module Gitlab
def limit
[pagination_delegate.offset, pagination_delegate.limit_value]
end
def default_from
6.months.ago.to_i
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment