Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
UPSMF
knowledge-platform
Commits
a10fba1d
Commit
a10fba1d
authored
4 years ago
by
rheafernandes
Browse files
Options
Download
Patches
Plain Diff
Removed QueryStringBinder implementation
parent
8b339be9
schema-updates
3.9.0-prod-fix
4.1.0_fixes
AmiableAnil-patch-1
Gcloud_copy
Gcloud_fix
Remove_unwantedCode_Gcloud_fix
actors-test
bulk-upload-comptenecy-mapping
bulk-upload-excelsheet
bulk-upload-test_excel
bulk_upload
code-cleanup
csp-migration
dependabot/maven/platform-core/platform-telemetry/ch.qos.logback-logback-core-1.2.9
dependabot/maven/search-api/search-core/org.apache.httpcomponents-httpclient-4.5.13
ft-spike
knowlg-friday
knowlg-oneclick
local-setup-fix
local-setup-kube
m-4.2.0
master
master-data
new_objecttype
org-target-enhancement
patch-1
patch-2
patch-3
poc_bulk_upload
qs-schema
rahul_bulk_upload_postgres
release-3.0.0
release-3.1.0
release-3.2.0
release-3.3.0
release-3.4.0
release-3.5.0
release-3.6.0
release-3.6.0.1
release-3.7.0
release-3.8.0
release-3.9.0
release-4.0.0
release-4.1.0
release-4.10.0
release-4.10.1
release-4.2.0
release-4.3.0
release-4.4.0
release-4.5.0
release-4.6.0
release-4.7.0
release-4.7.0-debug
release-4.8.0
release-4.8.0-debug
release-4.9.0
release-4.9.1
release-5.0.0
release-5.0.1
release-5.1.0
release-5.1.0-content
release-5.2.0
release-5.3.0
revert-718-visiblity-private-api
revert-719-assessment-private-read-api
revert-720-visiblity-public-search-api
revert-721-visiblity-private-search-api
review-4.1.0
s-debug
schema-update-4.0
release-5.2.0_RC2
release-5.2.0_RC1
release-5.1.0_RC1
release-5.0.0_RC2
release-5.0.0_RC1
release-4.10.0_RC2
release-4.10.0_RC1
release-4.9.1_RC1
release-4.9.0_RC8
release-4.9.0_RC7
release-4.9.0_RC6
release-4.9.0_RC5
release-4.9.0_RC4
release-4.9.0_RC3
release-4.9.0_RC2
release-4.9.0_RC1
release-4.8.0_RC5
release-4.8.0_RC4
release-4.8.0_RC3
release-4.8.0_RC2
release-4.8.0_RC1
release-4.7.0_RC6
release-4.7.0_RC5
release-4.7.0_RC4
release-4.7.0_RC3
release-4.7.0_RC2
release-4.7.0_RC1
release-4.6.0_RC2
release-4.6.0_RC1
release-4.5.0_RC2
release-4.5.0_RC1
release-4.4.0_RC6
release-4.4.0_RC5
release-4.4.0_RC4
release-4.4.0_RC3
release-4.4.0_RC2
release-4.4.0_RC1
release-4.3.0_RC10
release-4.3.0_RC9
release-4.3.0_RC8
release-4.3.0_RC7
release-4.3.0_RC6
release-4.3.0_RC5
release-4.3.0_RC4
release-4.3.0_RC3
release-4.3.0_RC2
release-4.3.0_RC1
release-4.2.0_RC13
release-4.2.0_RC12
release-4.2.0_RC11
release-4.2.0_RC10
release-4.2.0_RC9
release-4.2.0_RC8
release-4.2.0_RC7
release-4.2.0_RC6
release-4.2.0_RC5
release-4.2.0_RC4
release-4.2.0_RC3
release-4.2.0_RC2
release-4.2.0_RC1
release-4.1.0_RC13
release-4.1.0_RC12
release-4.1.0_RC11
release-4.1.0_RC10
release-4.1.0_RC9
release-4.1.0_RC8
release-4.1.0_RC7
release-4.1.0_RC6
release-4.1.0_RC5
release-4.1.0_RC4
release-4.1.0_RC3
release-4.1.0_RC2
release-4.1.0_RC1
release-4.0.0_RC9
release-4.0.0_RC8
release-4.0.0_RC7
release-4.0.0_RC6
release-4.0.0_RC5
release-4.0.0_RC4
release-4.0.0_RC3
release-4.0.0_RC2
release-4.0.0_RC1
release-3.9.0_RC12
release-3.9.0_RC11
release-3.9.0_RC10
release-3.9.0_RC9
release-3.9.0_RC8
release-3.9.0_RC7
release-3.9.0_RC6
release-3.9.0_RC5
release-3.9.0_RC4
release-3.9.0_RC3
release-3.9.0_RC2
release-3.9.0_RC1
release-3.8.0_RC9
release-3.8.0_RC8
release-3.8.0_RC7
release-3.8.0_RC6
release-3.8.0_RC5
release-3.8.0_RC4
release-3.8.0_RC3
release-3.8.0_RC2
release-3.8.0_RC1
release-3.7.0_RC1
release-3.6.0_RC5
release-3.6.0_RC4
release-3.6.0_RC3
release-3.6.0_RC2
release-3.6.0_RC1
release-3.5.0
release-3.5.0_RC2
release-3.5.0_RC1
release-3.4.0
release-3.4.0_RC2
release-3.4.0_RC1
release-3.3.0_RC10
release-3.3.0_RC9
release-3.3.0_RC8
release-3.3.0_RC7
release-3.3.0_RC6
release-3.3.0_RC5
release-3.3.0_RC4
release-3.3.0_RC3
release-3.3.0_RC2
release-3.3.0_RC1
release-3.2.0_RC9
release-3.2.0_RC8
release-3.2.0_RC7
release-3.2.0_RC6
release-3.2.0_RC5
release-3.2.0_RC4
release-3.2.0_RC3
release-3.2.0_RC2
release-3.1.0
release-3.1.0_RC8
release-3.1.0_RC7
release-3.1.0_RC6
release-3.1.0_RC5
release-3.0.0_RC11
release-3.0.0_RC10
release-3.0.0_RC9
No related merge requests found
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
content-api/content-service/app/controllers/v3/ContentController.scala
+2
-2
...ontent-service/app/controllers/v3/ContentController.scala
content-api/content-service/conf/routes
+1
-1
content-api/content-service/conf/routes
content-api/content-service/test/controllers/v3/ContentSpec.scala
+3
-3
...api/content-service/test/controllers/v3/ContentSpec.scala
content-api/content-service/test/org/sunbird/models/UploadParamsSpec.scala
+0
-51
...nt-service/test/org/sunbird/models/UploadParamsSpec.scala
platform-modules/mimetype-manager/pom.xml
+0
-11
platform-modules/mimetype-manager/pom.xml
platform-modules/mimetype-manager/src/main/scala/org/sunbird/models/UploadParams.scala
+0
-30
...ager/src/main/scala/org/sunbird/models/UploadParams.scala
with
6 additions
and
98 deletions
+6
-98
content-api/content-service/app/controllers/v3/ContentController.scala
+
2
−
2
View file @
a10fba1d
...
...
@@ -223,13 +223,13 @@ class ContentController @Inject()(@Named(ActorNames.CONTENT_ACTOR) contentActor:
Future
(
Ok
(
response
).
as
(
"application/json"
))
}
def
upload
(
identifier
:
String
,
params
:
UploadParams
=
UploadParams
()
)
=
Action
.
async
{
implicit
request
=>
def
upload
(
identifier
:
String
,
fileFormat
:
Option
[
String
],
validation
:
Option
[
String
]
)
=
Action
.
async
{
implicit
request
=>
val
headers
=
commonHeaders
()
val
content
=
requestFormData
()
content
.
putAll
(
headers
)
val
contentRequest
=
getRequest
(
content
,
headers
,
"uploadContent"
)
setRequestContext
(
contentRequest
,
version
,
objectType
,
schemaName
)
contentRequest
.
getContext
.
putAll
(
Map
(
"identifier"
->
identifier
,
"params"
->
params
))
contentRequest
.
getContext
.
putAll
(
Map
(
"identifier"
->
identifier
,
"params"
->
UploadParams
(
fileFormat
,
validation
.
map
(
_
.
toBoolean
))
))
getResult
(
ApiId
.
UPLOAD_CONTENT
,
contentActor
,
contentRequest
)
}
...
...
This diff is collapsed.
Click to expand it.
content-api/content-service/conf/routes
+
1
−
1
View file @
a10fba1d
...
...
@@ -9,7 +9,7 @@ POST /content/v3/create controllers.v3.ContentController.cre
PATCH /content/v3/update/:identifier controllers.v3.ContentController.update(identifier:String)
GET /content/v3/read/:identifier controllers.v3.ContentController.read(identifier:String, mode:Option[String], fields:Option[String])
POST /content/v3/upload/url/:identifier controllers.v3.ContentController.uploadPreSigned(identifier:String, type: Option[String])
POST /content/v3/upload/:identifier controllers.v3.ContentController.upload(identifier:String,
params: org.sunbird.models.UploadParams
)
POST /content/v3/upload/:identifier controllers.v3.ContentController.upload(identifier:String,
fileFormat: Option[String], validation: Option[String]
)
POST /content/v3/copy/:identifier controllers.v3.ContentController.copy(identifier:String, mode:Option[String], type:String ?= "deep")
POST /content/v3/dialcode/link controllers.v3.ContentController.linkDialCode()
...
...
This diff is collapsed.
Click to expand it.
content-api/content-service/test/controllers/v3/ContentSpec.scala
+
3
−
3
View file @
a10fba1d
...
...
@@ -158,7 +158,7 @@ class ContentSpec extends BaseSpec {
val
files
=
Seq
[
FilePart
[
TemporaryFile
]](
FilePart
(
"file"
,
"sample.pdf"
,
None
,
SingletonTemporaryFileCreator
.
create
(
file
.
toPath
)))
val
multipartBody
=
MultipartFormData
(
Map
[
String
,
Seq
[
String
]](),
files
,
Seq
[
BadPart
]())
val
fakeRequest
=
FakeRequest
().
withMultipartFormDataBody
(
multipartBody
)
val
result
=
controller
.
upload
(
"01234"
,
UploadParams
()
)(
fakeRequest
)
val
result
=
controller
.
upload
(
"01234"
,
None
,
None
)(
fakeRequest
)
isOK
(
result
)
status
(
result
)
must
equalTo
(
OK
)
}
...
...
@@ -169,7 +169,7 @@ class ContentSpec extends BaseSpec {
val
files
=
Seq
[
FilePart
[
TemporaryFile
]](
FilePart
(
"file"
,
"sample.pdf"
,
None
,
SingletonTemporaryFileCreator
.
create
(
file
.
toPath
)))
val
multipartBody
=
MultipartFormData
(
Map
[
String
,
Seq
[
String
]](
"fileUrl"
->
Seq
(
"https://abc.com/content/sample.pdf"
),
"filePath"
->
Seq
(
"/program/id"
)),
files
,
Seq
[
BadPart
]())
val
fakeRequest
=
FakeRequest
().
withMultipartFormDataBody
(
multipartBody
)
val
result
=
controller
.
upload
(
"01234"
,
UploadParams
()
)(
fakeRequest
)
val
result
=
controller
.
upload
(
"01234"
,
None
,
None
)(
fakeRequest
)
isOK
(
result
)
status
(
result
)
must
equalTo
(
OK
)
}
...
...
@@ -180,7 +180,7 @@ class ContentSpec extends BaseSpec {
val
files
=
Seq
[
FilePart
[
TemporaryFile
]](
FilePart
(
"file"
,
"sample.pdf"
,
None
,
SingletonTemporaryFileCreator
.
create
(
file
.
toPath
)))
val
multipartBody
=
MultipartFormData
(
Map
[
String
,
Seq
[
String
]](),
files
,
Seq
[
BadPart
]())
val
fakeRequest
=
FakeRequest
().
withMultipartFormDataBody
(
multipartBody
)
val
result
=
controller
.
upload
(
"01234"
,
UploadParams
(
Some
(
"composed-h5p-zip"
)
)
)(
fakeRequest
)
val
result
=
controller
.
upload
(
"01234"
,
Some
(
"composed-h5p-zip"
)
,
None
)(
fakeRequest
)
isOK
(
result
)
status
(
result
)
must
equalTo
(
OK
)
}
...
...
This diff is collapsed.
Click to expand it.
content-api/content-service/test/org/sunbird/models/UploadParamsSpec.scala
deleted
100644 → 0
+
0
−
51
View file @
8b339be9
package
org.sunbird.models
import
org.specs2.mutable.Specification
import
play.api.mvc.QueryStringBindable
object
UploadParamsSpec
extends
Specification
{
"UploadParams query string binder"
should
{
val
subject
=
implicitly
[
QueryStringBindable
[
UploadParams
]]
"Unbind UploadParams as string"
in
{
subject
.
unbind
(
"key"
,
UploadParams
(
Some
(
"composed-h5p-zip"
),
Some
(
true
)))
must
be_==
(
"fileFormat=composed-h5p-zip&validation=true"
)
}
"Unbind UploadParams as string"
in
{
subject
.
unbind
(
"key"
,
UploadParams
(
Some
(
""
),
Some
(
true
)))
must
be_==
(
"fileFormat=&validation=true"
)
}
"Unbind UploadParams as string"
in
{
subject
.
unbind
(
"key"
,
UploadParams
(
Some
(
"composed-h5p-zip"
),
Some
(
false
)))
must
be_==
(
"fileFormat=composed-h5p-zip&validation=false"
)
}
"Bind fileFormat to UploadParams"
in
{
subject
.
bind
(
"key"
,
Map
(
"fileFormat"
->
Seq
(
"composed-h5p-zip"
)))
must
be_==
(
Some
(
Right
(
UploadParams
(
Some
(
"composed-h5p-zip"
),
None
))))
}
"Bind validation to UploadParams"
in
{
subject
.
bind
(
"key"
,
Map
(
"validation"
->
Seq
(
"true"
)))
must
be_==
(
Some
(
Right
(
UploadParams
(
None
,
Some
(
true
)))))
}
"Fail on un parsable UploadParams"
in
{
subject
.
bind
(
"key"
,
Map
(
"key"
->
Seq
(
""
)))
must
be_==
(
Some
(
Right
(
UploadParams
(
None
,
None
))))
}
}
"QueryStringBindable.bindableString"
should
{
"unbind with null values"
in
{
import
QueryStringBindable._
val
boundValue
=
bindableString
.
unbind
(
"key"
,
null
)
boundValue
must
beEqualTo
(
"key="
)
}
}
"QueryStringBindable.bindableBoolean"
should
{
"unbind with false values"
in
{
import
QueryStringBindable._
val
boundValue
=
bindableBoolean
.
unbind
(
"key"
,
false
)
boundValue
must
beEqualTo
(
"key=false"
)
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
platform-modules/mimetype-manager/pom.xml
+
0
−
11
View file @
a10fba1d
...
...
@@ -84,17 +84,6 @@
<version>
4.4.0
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.typesafe.play
</groupId>
<artifactId>
play_${scala.major.version}
</artifactId>
<version>
${play2.version}
</version>
<exclusions>
<exclusion>
<artifactId>
guava
</artifactId>
<groupId>
com.google.guava
</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
...
...
This diff is collapsed.
Click to expand it.
platform-modules/mimetype-manager/src/main/scala/org/sunbird/models/UploadParams.scala
+
0
−
30
View file @
a10fba1d
package
org.sunbird.models
import
play.api.mvc.QueryStringBindable
case
class
UploadParams
(
fileFormat
:
Option
[
String
]
=
Some
(
""
),
validation
:
Option
[
Boolean
]
=
Some
(
true
))
object
UploadParams
{
implicit
def
queryStringBinder
(
implicit
stringBinder
:
QueryStringBindable
[
String
],
booleanBinder
:
QueryStringBindable
[
Boolean
])
=
new
QueryStringBindable
[
UploadParams
]
{
private
def
subBind
[
T
](
key
:
String
,
subKey
:
String
,
params
:
Map
[
String
,
Seq
[
String
]])(
implicit
b
:
QueryStringBindable
[
T
])
:
Either.RightProjection
[
String
,
Option
[
T
]]
=
{
b
.
bind
(
subKey
,
params
).
map
(
_
.
right
.
map
(
r
=>
Option
(
r
))).
getOrElse
(
Right
(
None
)).
right
}
override
def
bind
(
key
:
String
,
params
:
Map
[
String
,
Seq
[
String
]])
:
Option
[
Either
[
String
,
UploadParams
]]
=
Some
{
def
bnd
[
T
](
s
:
String
)(
implicit
b
:
QueryStringBindable
[
T
])
=
subBind
[
T
](
key
,
s
,
params
)
for
{
fileFormat
<-
bnd
[
String
](
"fileFormat"
)
validation
<-
bnd
[
Boolean
](
"validation"
)
}
yield
UploadParams
(
fileFormat
,
validation
)
}
override
def
unbind
(
key
:
String
,
params
:
UploadParams
)
:
String
=
{
def
ubnd
[
T
](
key
:
String
,
s
:
Option
[
T
])(
implicit
b
:
QueryStringBindable
[
T
])
=
s
.
map
(
f
=>
b
.
unbind
(
key
,
f
))
val
keys
=
Seq
(
ubnd
(
"fileFormat"
,
params
.
fileFormat
),
ubnd
(
"validation"
,
params
.
validation
)
).
flatten
keys
.
mkString
(
"&"
)
}
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets