001package org.nuxeo.ecm.platform.oauth2.clients;
002
003import java.util.List;
004
005import org.nuxeo.ecm.core.api.DocumentModel;
006
007/**
008 * @author <a href="mailto:ak@nuxeo.com">Arnaud Kervern</a>
009 * @since 5.9.2
010 */
011public interface ClientRegistry {
012
013    public static final String OAUTH2CLIENT_DIRECTORY_NAME = "oauth2Clients";
014
015    public static final String OAUTH2CLIENT_SCHEMA = "oauth2Client";
016
017    boolean hasClient(String clientId);
018
019    boolean isValidClient(String clientId, String clientSecret);
020
021    boolean registerClient(OAuth2Client client);
022
023    boolean deleteClient(String clientId);
024
025    List<DocumentModel> listClients();
026
027    OAuth2Client getClient(String clientId);
028}