package com.dbg.cloud.acheron.plugins.oauth2.store;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
import java.util.Date;
import java.util.UUID;
public interface OAuth2Client {
UUID getId();
String getClientId();
UUID getConsumerId();
String getConsumerName();
Date getConsumerCreatedAt();
Date getCreatedAt();
@AllArgsConstructor
@Getter
@ToString
final class Default implements OAuth2Client {
private final UUID id;
private final String clientId;
private final UUID consumerId;
private final String consumerName;
private final Date consumerCreatedAt;
private final Date createdAt;
}
@AllArgsConstructor
@Getter
@ToString
final class ForCreation implements OAuth2Client {
private final String clientId;
private final UUID consumerId;
private final String consumerName;
private final Date consumerCreatedAt;
// already set
private final UUID id = null;
private final Date createdAt = new Date();
}
}