-
Notifications
You must be signed in to change notification settings - Fork 1
/
ApiResult.scala
57 lines (42 loc) · 2.18 KB
/
ApiResult.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package us.newsrdr.models
object Constants {
val ITEMS_PER_PAGE = 10
val LOGIN_URI = "/auth/login"
val AUTHENTICATED_URI = "/auth/authenticated"
val FB_CLIENT_ID = "1375893982640236"
val FB_CLIENT_SECRET = "INSERT SECRET HERE"
def getURL(request: javax.servlet.http.HttpServletRequest, uri: String) : String = {
var protocol = request.isSecure() match {
case true => "https://"
case _ => "http://"
}
(protocol + request.getServerName() + ":" + request.getServerPort().toString() + uri)
}
def getAuthenticatedURL(request: javax.servlet.http.HttpServletRequest, service: String) : String = {
var protocol = request.isSecure() match {
case true => "https://"
case _ => "http://"
}
(protocol + request.getServerName() + ":" + request.getServerPort().toString() + Constants.AUTHENTICATED_URI + "/" + service)
}
def getFacebookLoginURL(request: javax.servlet.http.HttpServletRequest) : String = {
"https://www.facebook.com/dialog/oauth?client_id=" + FB_CLIENT_ID +
"&redirect_uri=" + getAuthenticatedURL(request, "fb") +
"&response_type=code&scope=email"
}
}
class ApiResult(success: Boolean, error_string: Option[String])
case class StringDataApiResult(success: Boolean, error_string: Option[String], data: String)
extends ApiResult(success, error_string)
case class AddFeedListApiResult(success: Boolean, error_string: Option[String], data: List[AddFeedEntry])
extends ApiResult(success, error_string)
case class NoDataApiResult(success: Boolean, error_string: Option[String])
extends ApiResult(success, error_string)
case class FeedInfoApiResult(success: Boolean, error_string: Option[String], data: NewsFeedInfo)
extends ApiResult(success, error_string)
case class FeedListApiResult(success: Boolean, error_string: Option[String], data: List[NewsFeedInfo])
extends ApiResult(success, error_string)
case class ArticleListWithMaxId(id: Long, list: List[NewsFeedArticleInfo])
case class SavedArticleListWithMaxId(id: Long, list: List[NewsFeedArticleInfoWithFeed])
case class ArticleListApiResult(success: Boolean, error_string: Option[String], data: ArticleListWithMaxId)
extends ApiResult(success, error_string)