
org.johnnei.enjin.spec.impl.UserAdminImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of enjin-api-impl Show documentation
Show all versions of enjin-api-impl Show documentation
The specification of the Enjin API
The newest version!
package org.johnnei.enjin.spec.impl;
import java.lang.reflect.Type;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import org.johnnei.enjin.internal.AnnotationUtils;
import org.johnnei.enjin.internal.RequestWrapper;
import org.johnnei.enjin.internal.ResponseWrapper;
import org.johnnei.enjin.internal.http.IRequestExecuter;
import org.johnnei.enjin.spec.EnjinMethod;
import org.johnnei.enjin.spec.IUserAdmin;
import org.johnnei.enjin.spec.dto.Tag;
import org.johnnei.enjin.spec.dto.User;
import org.johnnei.enjin.spec.dto.UserTagsRequest;
import com.google.gson.reflect.TypeToken;
public class UserAdminImpl implements IUserAdmin {
private static final Type USER_TAGS_RESPONSE_TYPE = new TypeToken>>() {}.getType();
private EnjinApiImpl enjinApiImpl;
private IRequestExecuter requestExecuter;
public UserAdminImpl(EnjinApiImpl enjinApiImpl, IRequestExecuter requestExecuter) {
this.enjinApiImpl = enjinApiImpl;
this.requestExecuter = requestExecuter;
}
@Override
public Collection getUserTags(int siteId, User user) {
Objects.requireNonNull(user);
final EnjinMethod method = AnnotationUtils.getMethod(IUserAdmin.class, "getUserTags", int.class, User.class);
UserTagsRequest params = new UserTagsRequest.Builder()
.setSiteId(Integer.toString(siteId))
.setUserId(user.getUserId())
.build();
RequestWrapper request = enjinApiImpl.createRequest(method, Optional.of(user), params);
ResponseWrapper> response = requestExecuter.executeRequest(request, USER_TAGS_RESPONSE_TYPE);
return response.getResponse();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy