summaryrefslogtreecommitdiff
path: root/app/services/timelogs/base_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/timelogs/base_service.rb')
-rw-r--r--app/services/timelogs/base_service.rb21
1 files changed, 18 insertions, 3 deletions
diff --git a/app/services/timelogs/base_service.rb b/app/services/timelogs/base_service.rb
index be46c26e047..e09264864fd 100644
--- a/app/services/timelogs/base_service.rb
+++ b/app/services/timelogs/base_service.rb
@@ -5,11 +5,26 @@ module Timelogs
include BaseServiceUtility
include Gitlab::Utils::StrongMemoize
- attr_accessor :timelog, :current_user
+ attr_accessor :current_user
- def initialize(timelog, user)
- @timelog = timelog
+ def initialize(user)
@current_user = user
end
+
+ def success(timelog)
+ ServiceResponse.success(payload: {
+ timelog: timelog
+ })
+ end
+
+ def error(message, http_status = nil)
+ ServiceResponse.error(message: message, http_status: http_status)
+ end
+
+ def error_in_save(timelog)
+ return error(_("Failed to save timelog")) if timelog.errors.empty?
+
+ error(timelog.errors.full_messages.to_sentence)
+ end
end
end