Skip to content

Commit

Permalink
chore: lint moderation files
Browse files Browse the repository at this point in the history
  • Loading branch information
itsmeadi committed Oct 8, 2024
1 parent 7c9a154 commit 2b24dae
Show file tree
Hide file tree
Showing 10 changed files with 288 additions and 279 deletions.
87 changes: 41 additions & 46 deletions src/main/java/io/getstream/client/ModerationClient.java
Original file line number Diff line number Diff line change
@@ -1,56 +1,51 @@
package io.getstream.client;

import com.fasterxml.jackson.core.JsonProcessingException;
import static io.getstream.core.utils.Auth.buildReactionsToken;
import static io.getstream.core.utils.Routes.*;
import static io.getstream.core.utils.Serialization.*;

import io.getstream.core.Moderation;
import io.getstream.core.StreamBatch;
import io.getstream.core.exceptions.StreamException;
import io.getstream.core.http.HTTPClient;
import io.getstream.core.http.Response;
import io.getstream.core.http.Token;
import io.getstream.core.utils.Auth;
import java8.util.concurrent.CompletableFuture;
import java8.util.concurrent.CompletionException;
import io.getstream.core.http.Response;

import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
import java.util.Map;

import static io.getstream.core.utils.Auth.buildReactionsToken;
import static io.getstream.core.utils.Routes.*;

import java.io.IOException;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.getstream.core.utils.Request.buildPost;
import static io.getstream.core.utils.Serialization.*;
import java8.util.concurrent.CompletableFuture;

public class ModerationClient {
private final String secret;
private final Moderation mod;

ModerationClient(String secret, Moderation mod) {
this.secret = secret;
this.mod = mod;
}

public CompletableFuture<Response> flagUser(String flaggedUserId, String reason, Map<String, Object> options)throws StreamException {
return flag("stream:user", flaggedUserId, "", reason, options);
}

public CompletableFuture<Response> flagActivity(String entityId, String entityCreatorId, String reason, Map<String, Object> options) throws StreamException{
return flag("stream:feeds:v2:activity", entityId, entityCreatorId, reason, options);
}

public CompletableFuture<Response> flagReaction(String entityId, String entityCreatorId, String reason, Map<String, Object> options) throws StreamException{
return flag("stream:feeds:v2:reaction", entityId, entityCreatorId, reason, options);
}

private CompletableFuture<Response> flag(String entityType, String entityId, String entityCreatorId,
String reason, Map<String, Object> options)throws StreamException {
final Token token = buildReactionsToken(secret, Auth.TokenAction.WRITE);
return mod.flag(token, entityType, entityId, entityCreatorId, reason, options);
}
private final String secret;
private final Moderation mod;

ModerationClient(String secret, Moderation mod) {
this.secret = secret;
this.mod = mod;
}

public CompletableFuture<Response> flagUser(
String flaggedUserId, String reason, Map<String, Object> options) throws StreamException {
return flag("stream:user", flaggedUserId, "", reason, options);
}

public CompletableFuture<Response> flagActivity(
String entityId, String entityCreatorId, String reason, Map<String, Object> options)
throws StreamException {
return flag("stream:feeds:v2:activity", entityId, entityCreatorId, reason, options);
}

public CompletableFuture<Response> flagReaction(
String entityId, String entityCreatorId, String reason, Map<String, Object> options)
throws StreamException {
return flag("stream:feeds:v2:reaction", entityId, entityCreatorId, reason, options);
}

private CompletableFuture<Response> flag(
String entityType,
String entityId,
String entityCreatorId,
String reason,
Map<String, Object> options)
throws StreamException {
final Token token = buildReactionsToken(secret, Auth.TokenAction.WRITE);
return mod.flag(token, entityType, entityId, entityCreatorId, reason, options);
}
}
77 changes: 39 additions & 38 deletions src/main/java/io/getstream/core/Moderation.java
Original file line number Diff line number Diff line change
@@ -1,53 +1,54 @@
package io.getstream.core;

import static io.getstream.core.utils.Request.buildPost;
import static io.getstream.core.utils.Routes.*;
import static io.getstream.core.utils.Serialization.*;

import com.fasterxml.jackson.core.JsonProcessingException;
import io.getstream.core.exceptions.StreamException;
import io.getstream.core.http.HTTPClient;
import io.getstream.core.http.Response;
import io.getstream.core.models.Activity;
import java8.util.concurrent.CompletableFuture;
import java8.util.concurrent.CompletionException;
import io.getstream.core.http.Token;

import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
import java.util.Map;
import static io.getstream.core.utils.Routes.*;

import static io.getstream.core.utils.Request.buildPost;
import static io.getstream.core.utils.Serialization.*;
import java8.util.concurrent.CompletableFuture;
import java8.util.concurrent.CompletionException;

public class Moderation {
private final String key;
private final URL baseURL;
private final HTTPClient httpClient;

public Moderation(String key, URL baseURL, HTTPClient httpClient) {
this.key = key;
this.baseURL = baseURL;
this.httpClient = httpClient;
private final String key;
private final URL baseURL;
private final HTTPClient httpClient;

public Moderation(String key, URL baseURL, HTTPClient httpClient) {
this.key = key;
this.baseURL = baseURL;
this.httpClient = httpClient;
}

public CompletableFuture<Response> flag(
Token token,
String entityType,
String entityId,
String entityCreatorId,
String reason,
Map<String, Object> options)
throws StreamException {
try {
final byte[] payload =
toJSON(
new Object() {
public final String UserId = entityCreatorId;
public final String EntityType = entityType;
public final String EntityId = entityId;
public final String Reason = reason;
});

final URL url = buildModerationFlagURL(baseURL);
return httpClient.execute(buildPost(url, key, token, payload));
} catch (JsonProcessingException | MalformedURLException | URISyntaxException e) {
throw new CompletionException(e);
}

public CompletableFuture<Response> flag(Token token, String entityType, String entityId, String entityCreatorId,
String reason, Map<String, Object> options) throws StreamException {
try {
final byte[] payload =
toJSON(
new Object() {
public final String UserId = entityCreatorId;
public final String EntityType = entityType;
public final String EntityId = entityId;
public final String Reason = reason;
});


final URL url = buildModerationFlagURL(baseURL);
return httpClient.execute(buildPost(url, key, token, payload));
} catch (JsonProcessingException | MalformedURLException | URISyntaxException e) {
throw new CompletionException(e);
}
}

}
}
1 change: 0 additions & 1 deletion src/main/java/io/getstream/core/Stream.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.OptBoolean;
import com.fasterxml.jackson.core.JsonProcessingException;
import io.getstream.client.ModerationClient;
import io.getstream.core.exceptions.StreamException;
import io.getstream.core.http.HTTPClient;
import io.getstream.core.http.Response;
Expand Down
29 changes: 16 additions & 13 deletions src/main/java/io/getstream/core/StreamReactions.java
Original file line number Diff line number Diff line change
Expand Up @@ -287,26 +287,29 @@ public CompletableFuture<Void> update(Token token, Reaction reaction, FeedID...
}
}

public CompletableFuture<Void> delete(Token token, String id, Boolean soft) throws StreamException {
public CompletableFuture<Void> delete(Token token, String id, Boolean soft)
throws StreamException {
checkNotNull(id, "Reaction id can't be null");
checkArgument(!id.isEmpty(), "Reaction id can't be empty");

try {
final URL url = buildReactionsURL(baseURL, id + '/');

final Request deleteRequest = soft ? buildDelete(url, key, token, new CustomQueryParameter("soft", "true"))
: buildDelete(url, key, token);

final Request deleteRequest =
soft
? buildDelete(url, key, token, new CustomQueryParameter("soft", "true"))
: buildDelete(url, key, token);

return httpClient
.execute(deleteRequest)
.thenApply(
response -> {
try {
return deserializeError(response);
} catch (StreamException | IOException e) {
throw new CompletionException(e);
}
});
.execute(deleteRequest)
.thenApply(
response -> {
try {
return deserializeError(response);
} catch (StreamException | IOException e) {
throw new CompletionException(e);
}
});
} catch (MalformedURLException | URISyntaxException e) {
throw new StreamException(e);
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/io/getstream/core/http/Request.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,4 +155,4 @@ public Request build() throws MalformedURLException, URISyntaxException {
return new Request(this);
}
}
}
}
51 changes: 26 additions & 25 deletions src/main/java/io/getstream/core/models/APIError.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,34 @@
import com.fasterxml.jackson.annotation.JsonProperty;

public class APIError {
private String Code;
private String Message;
private String Status;
private String Code;
private String Message;
private String Status;

public String toString() {
return "{Code='" + Code + "', Message=" + Message + "}";
}
// Default constructor
public APIError() {}
public String toString() {
return "{Code='" + Code + "', Message=" + Message + "}";
}

// Constructor with parameters
@JsonCreator
public APIError(
@JsonProperty("code") String code,
@JsonProperty("message") String message,
@JsonProperty("status") String status) {
this.Code = code;
this.Message = message;
this.Status = status;
}
// Default constructor
public APIError() {}

// Getters
public String getCode() {
return Code;
}
// Constructor with parameters
@JsonCreator
public APIError(
@JsonProperty("code") String code,
@JsonProperty("message") String message,
@JsonProperty("status") String status) {
this.Code = code;
this.Message = message;
this.Status = status;
}

public String getMessage() {
return Message;
}
// Getters
public String getCode() {
return Code;
}

public String getMessage() {
return Message;
}
}
5 changes: 2 additions & 3 deletions src/main/java/io/getstream/core/models/Activity.java
Original file line number Diff line number Diff line change
Expand Up @@ -205,11 +205,10 @@ public Builder foreignID(String foreignID) {

@JsonProperty("moderation")
public Builder setModerationResponse(ModerationResponse mod) {
this.moderationResponse=mod;
this.moderationResponse = mod;
return this;
}


public Builder target(String target) {
this.target = target;
return this;
Expand Down Expand Up @@ -297,4 +296,4 @@ public Activity build() {
return new Activity(this);
}
}
}
}
Loading

0 comments on commit 2b24dae

Please sign in to comment.