diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt index bf2ec672f..fbfef571f 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt @@ -17,83 +17,83 @@ import javax.inject.Singleton */ @Singleton class WikiBaseClient -@Inject -constructor( - private val wikiBaseInterface: WikiBaseInterface, - @param:Named(NetworkingModule.NAMED_COMMONS_CSRF) private val csrfTokenClient: CsrfTokenClient, -) { - fun postEditEntity( - fileEntityId: String?, - data: String?, - ): Observable = - csrfToken().switchMap { editToken -> - wikiBaseInterface - .postEditEntity(fileEntityId!!, editToken, data!!) - .map { response: MwPostResponse -> response.successVal == 1 } - } - - /** - * Makes the server call for posting new depicts - * - * @param filename name of the file - * @param data data of the depicts to be uploaded - * @return Observable - */ - fun postEditEntityByFilename( - filename: String?, - data: String?, - ): Observable = - csrfToken().switchMap { editToken -> - wikiBaseInterface - .postEditEntityByFilename(filename!!, editToken, data!!) - .map { response: MwPostResponse -> response.successVal == 1 } - } - - fun getClaimIdsByProperty( - fileEntityId: String, - property: String, - ): Observable> = - wikiBaseInterface.getClaimsByProperty(fileEntityId, property).map { claimsResponse -> - claimsResponse.claims[property]?.mapNotNull { claim -> claim.id } ?: emptyList() - } - - fun postDeleteClaims( - entityId: String, - data: String?, - ): Observable = - csrfToken().switchMap { editToken -> - wikiBaseInterface - .postDeleteClaims(editToken, entityId, data!!) - .map { response: MwPostResponse -> response.successVal == 1 } - } - - fun getFileEntityId(uploadResult: UploadResult): Observable = - wikiBaseInterface - .getFileEntityId(uploadResult.createCanonicalFileName()) - .map { response: MwQueryResponse -> - response - .query()!! - .pages()!![0] - .pageId() - .toLong() + @Inject + constructor( + private val wikiBaseInterface: WikiBaseInterface, + @param:Named(NetworkingModule.NAMED_COMMONS_CSRF) private val csrfTokenClient: CsrfTokenClient, + ) { + fun postEditEntity( + fileEntityId: String?, + data: String?, + ): Observable = + csrfToken().switchMap { editToken -> + wikiBaseInterface + .postEditEntity(fileEntityId!!, editToken, data!!) + .map { response: MwPostResponse -> response.successVal == 1 } } - fun addLabelsToWikidata( - fileEntityId: Long, - languageCode: String?, - captionValue: String?, - ): Observable = - csrfToken().switchMap { editToken -> - wikiBaseInterface.addLabelstoWikidata( - PAGE_ID_PREFIX + fileEntityId, - editToken, - languageCode, - captionValue, - ) - } + /** + * Makes the server call for posting new depicts + * + * @param filename name of the file + * @param data data of the depicts to be uploaded + * @return Observable + */ + fun postEditEntityByFilename( + filename: String?, + data: String?, + ): Observable = + csrfToken().switchMap { editToken -> + wikiBaseInterface + .postEditEntityByFilename(filename!!, editToken, data!!) + .map { response: MwPostResponse -> response.successVal == 1 } + } - private fun csrfToken(): Observable = - Observable.fromCallable { - csrfTokenClient.getTokenBlocking() - } -} \ No newline at end of file + fun getClaimIdsByProperty( + fileEntityId: String, + property: String, + ): Observable> = + wikiBaseInterface.getClaimsByProperty(fileEntityId, property).map { claimsResponse -> + claimsResponse.claims[property]?.mapNotNull { claim -> claim.id } ?: emptyList() + } + + fun postDeleteClaims( + entityId: String, + data: String?, + ): Observable = + csrfToken().switchMap { editToken -> + wikiBaseInterface + .postDeleteClaims(editToken, entityId, data!!) + .map { response: MwPostResponse -> response.successVal == 1 } + } + + fun getFileEntityId(uploadResult: UploadResult): Observable = + wikiBaseInterface + .getFileEntityId(uploadResult.createCanonicalFileName()) + .map { response: MwQueryResponse -> + response + .query()!! + .pages()!![0] + .pageId() + .toLong() + } + + fun addLabelsToWikidata( + fileEntityId: Long, + languageCode: String?, + captionValue: String?, + ): Observable = + csrfToken().switchMap { editToken -> + wikiBaseInterface.addLabelstoWikidata( + PAGE_ID_PREFIX + fileEntityId, + editToken, + languageCode, + captionValue, + ) + } + + private fun csrfToken(): Observable = + Observable.fromCallable { + csrfTokenClient.getTokenBlocking() + } + } \ No newline at end of file