Packages
krug
2.0.8
2.0.36
2.0.35
2.0.34
2.0.33
2.0.32
2.0.31
2.0.30
2.0.29
2.0.27
2.0.26
2.0.25
2.0.24
2.0.23
2.0.22
2.0.20
2.0.19
2.0.18
2.0.17
2.0.16
2.0.15
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.1
2.0.0
1.1.53
1.1.52
1.1.50
1.1.49
1.1.48
1.1.47
1.1.46
1.1.45
1.1.44
1.1.43
1.1.42
1.1.41
1.1.40
1.1.39
1.1.38
1.1.37
1.1.36
1.1.35
1.1.34
1.1.33
1.1.32
1.1.31
1.1.30
1.1.29
1.1.28
1.1.27
1.1.26
1.1.25
1.1.24
1.1.23
1.1.22
1.1.21
1.1.20
1.1.19
1.1.18
1.1.17
1.1.16
1.1.15
1.1.14
1.1.12
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.31
0.4.30
0.4.29
0.4.28
0.4.27
0.4.26
0.4.25
0.4.24
0.4.23
0.4.22
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.0
A Utilitary package functionalities modules for improve a secure performatic development.
Current section
Files
Jump to
Current section
Files
lib/krug/util/return.util.ex
defmodule Krug.ReturnUtil do
@moduledoc """
Utilitary module to provide return objects to REST APIs
that don't return a list of objects from database.
"""
@doc """
Return a map object for cases on that the backend operation fail to execute
(partial or complete).
Useful to inform a friendly error message to User Interface and do not expose
critical messages, customized as needed
## Examples
```elixir
iex > Krug.ReturnUtil.get_operation_error()
%{
objectClass: "OperationError",
code: 500,
msg: ""
}
```
```elixir
iex > error_msg = "Operation Failed: impossible to create new user with email: jhon@jhon.com"
iex > Krug.ReturnUtil.get_operation_error(error_msg)
%{
objectClass: "OperationError",
code: 500,
msg: "Operation Failed: impossible to create new user with email: jhon@jhon.com"
}
```
"""
def get_operation_error(error_msg \\ "") do
%{
objectClass: "OperationError",
code: 500,
msg: error_msg
}
end
@doc """
Return a map object for cases on that the backend excute fully successfull.
Useful to inform a friendly sucess message to User Interface, customized as needed.
Can return an object as map, for control in user interface.
## Examples
```elixir
iex > return_object = %{name: "Echo Ping", email: "echo@ping.com"}
iex > Krug.ReturnUtil.get_operation_success(200,"Sucess on Insert",return_object)
%{
objectClass: "OperationSuccess",
code: 200,
msg: "Sucess on Insert",
object: %{
name: "Echo Ping",
email: "echo@ping.com"
}
}
```
```elixir
iex > Krug.ReturnUtil.get_operation_success(201,"Sucess on Update")
%{
objectClass: "OperationSuccess",
code: 201,
msg: "Sucess on Update",
object: nil
}
```
```elixir
iex > return_object = %{oldName: "Echo Ping", name: "Alpha Bravo"}
iex > Krug.ReturnUtil.get_operation_success(201,"Sucess on Update Name",return_object)
%{
objectClass: "OperationSuccess",
code: 201,
msg: "Sucess on Update Name",
object: %{
oldName: "Echo Ping",
name: "Alpha Bravo"
}
}
```
"""
def get_operation_success(return_code,success_msg,return_object \\ nil) do
%{
objectClass: "OperationSuccess",
code: return_code,
msg: success_msg,
object: return_object
}
end
@doc """
Return a map object for cases on that the backend result false when execute
validations (one or more parameters contains invalid characters, the length
of value of parameter received is bigger than the dabase column field, and others).
Useful to inform a friendly validation message to User Interface, customized as needed.
## Example
```elixir
iex > Krug.ReturnUtil.get_validation_result(100100,"[100100] E-mail should be a valid email.")
%{
objectClass: "ValidationResult",
code: 100100,
msg: "[100100] E-mail should be a valid email."
}
```
"""
def get_validation_result(return_code,result_msg) do
%{
objectClass: "ValidationResult",
code: return_code,
msg: result_msg
}
end
@doc """
Return a array of map objects for cases on that the backend need generate
some especial content to return to user interface.
This array is always size == 1. The return need be encapsulated to array,
to make possible the user interface receive this return in same call scheme
of the operations that load multiple objects from backend (compatibility).
Useful for generate custom dynamic content html, or dynamic reports for example.
## Example
```elixir
iex > html = "<h1>This is the Report Header of Generated Report</h1>"
iex > Krug.ReturnUtil.get_report(html)
[
%{
objectClass: "Report",
code: 205,
msg: "<h1>This is the Report Header of Generated Report</h1>"
}
]
```
"""
def get_report(html) do
[%{
objectClass: "Report",
code: 205,
msg: html
}]
end
end