All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nl.vpro.io.mediaconnect.MediaConnectPersonsImpl Maven / Gradle / Ivy

package nl.vpro.io.mediaconnect;

import java.util.UUID;

import javax.inject.Inject;
import javax.inject.Named;

import com.google.api.client.http.GenericUrl;

import nl.vpro.io.mediaconnect.domain.MCItems;
import nl.vpro.io.mediaconnect.domain.MCPerson;

/**
 * @author Michiel Meeuwissen
 * @since 0.3
 */
@Named
public class MediaConnectPersonsImpl implements MediaConnectPersons {

    private  final MediaConnectRepositoryClient impl;


    private final Fields PERSON_FIELDS = Fields.builder()
        .f("description")
        .f("biography")
        .f("age")
        .f("date_of_birth")
        .f("picture")
        .f("email")
        .f("phone")
        .f("tags")
        .f("social_media_handle")
        .build();


    @Inject
    public MediaConnectPersonsImpl(MediaConnectRepositoryClient impl) {
        this.impl = impl;
    }

    @Override
    public MCPerson get(UUID uuid) {
        GenericUrl url = impl.createUrl("persons", uuid.toString());
        return impl.get(url, MCPerson.class);
    }

    @Override
    public MCItems list(String q) {

        GenericUrl url = impl.createUrl("persons");
        url.set("q", q);
        url.set("fields", PERSON_FIELDS);
        return impl.get(url, MCItems.class);


    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy