Commit a74eac9d authored by Mahesh Kumar Gangula's avatar Mahesh Kumar Gangula
Browse files

Issue #000 feat: session apis mock.

No related merge requests found
Showing with 111 additions and 1 deletion
+111 -1
package controllers.v3
import akka.actor.{ActorRef, ActorSystem}
import controllers.BaseController
import javax.inject.{Inject, Named}
import play.api.mvc.ControllerComponents
import utils.{ActorNames, ApiId}
import scala.concurrent.ExecutionContext
class SessionController @Inject()(@Named(ActorNames.SESSION_ACTOR) sessionActor: ActorRef, cc: ControllerComponents, actorSystem: ActorSystem)(implicit exec: ExecutionContext) extends BaseController(cc) {
val objectType = "Content"
val schemaName: String = "content"
val version = "1.0"
def add() = Action.async { implicit request =>
val headers = commonHeaders()
val body = requestBody()
body.putAll(headers)
val contentRequest = getRequest(body, headers, "addSession")
setRequestContext(contentRequest, version, objectType, schemaName)
getResult(ApiId.ADD_HIERARCHY, sessionActor, contentRequest)
}
def remove() = Action.async { implicit request =>
val headers = commonHeaders()
val body = requestBody()
body.putAll(headers)
val contentRequest = getRequest(body, headers, "removeSession")
setRequestContext(contentRequest, version, objectType, schemaName)
getResult(ApiId.REMOVE_HIERARCHY, sessionActor, contentRequest)
}
def update(identifier: String) = Action.async { implicit request =>
val headers = commonHeaders()
val body = requestBody()
body.putAll(headers)
val contentRequest = getRequest(body, headers, "removeSession")
setRequestContext(contentRequest, version, objectType, schemaName)
getResult(ApiId.REMOVE_HIERARCHY, sessionActor, contentRequest)
}
}
......@@ -2,7 +2,7 @@ package modules
import com.google.inject.AbstractModule
import org.sunbird.actors.{CollectionActor, ContentActor, HealthActor, LicenseActor}
import org.sunbird.actors.{CollectionActor, ContentActor, HealthActor, LicenseActor, SessionActor}
import play.libs.akka.AkkaGuiceSupport
import utils.ActorNames
......@@ -15,6 +15,7 @@ class ContentModule extends AbstractModule with AkkaGuiceSupport {
bindActor(classOf[ContentActor], ActorNames.CONTENT_ACTOR)
bindActor(classOf[LicenseActor], ActorNames.LICENSE_ACTOR)
bindActor(classOf[CollectionActor], ActorNames.COLLECTION_ACTOR)
bindActor(classOf[SessionActor], ActorNames.SESSION_ACTOR)
println("Initialized application actors...")
// $COVERAGE-ON
}
......
......@@ -6,5 +6,6 @@ object ActorNames {
final val CONTENT_ACTOR = "contentActor"
final val LICENSE_ACTOR = "licenseActor"
final val COLLECTION_ACTOR = "collectionActor"
final val SESSION_ACTOR = "SessionActor"
}
......@@ -16,6 +16,10 @@ PATCH /license/v3/update/:identifier controllers.v3.LicenseController
DELETE /license/v3/retire/:identifier controllers.v3.LicenseController.retire(identifier: String)
POST /content/v3/session/add controllers.v3.SessionController.add
DELETE /content/v3/session/remove controllers.v3.SessionController.remove
PATCH /content/v3/session/update/:identifier controllers.v3.SessionController.update(identifier: String)
#Devcon-School
POST /teacher/v3/create controllers.v3.TeacherController.create
GET /teacher/v3/read/:identifier controllers.v3.TeacherController.read(identifier: String)
......
package org.sunbird.managers
import org.sunbird.common.dto.{Request, Response, ResponseHandler}
import scala.concurrent.{ExecutionContext, Future}
object SessionManager {
val schemaName: String = "collection"
val schemaVersion: String = "1.0"
def addSession(request: Request)(implicit ec: ExecutionContext): Future[Response] = {
Future(ResponseHandler.OK())
}
def removeSession(request: Request)(implicit ec: ExecutionContext): Future[Response] = {
Future(ResponseHandler.OK())
}
def updateSession(request: Request)(implicit ec: ExecutionContext): Future[Response] = {
Future(ResponseHandler.OK())
}
}
package org.sunbird.actors;
import org.sunbird.actor.core.BaseActor;
import org.sunbird.common.dto.Request;
import org.sunbird.common.dto.Response;
import org.sunbird.managers.SessionManager;
import scala.concurrent.Future;
public class SessionActor extends BaseActor {
private static final String SCHEMA_NAME = "collection";
public Future<Response> onReceive(Request request) throws Throwable {
String operation = request.getOperation();
request.getContext().put("schemaName", SCHEMA_NAME);
switch(operation) {
case "addSession": return addSession(request);
case "updateSession": return updateSession(request);
case "removeSession": return removeSession(request);
default: return ERROR(operation);
}
}
private Future<Response> addSession(Request request) {
return SessionManager.addSession(request, getContext().getDispatcher());
}
private Future<Response> removeSession(Request request) {
return SessionManager.removeSession(request, getContext().getDispatcher());
}
private Future<Response> updateSession(Request request) {
return SessionManager.updateSession(request, getContext().getDispatcher());
}
}
Supports Markdown
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