package com.dbg.cloud.acheron.plugins.apikey.store;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
import java.util.Date;
import java.util.UUID;
public interface APIKey {
UUID getId();
String getAPIKey();
UUID getConsumerId();
String getConsumerName();
Date getConsumerCreatedAt();
Date getCreatedAt();
@AllArgsConstructor
@Getter
@ToString
final class Default implements APIKey {
private final UUID id;
private final String aPIKey;
private final UUID consumerId;
private final String consumerName;
private final Date consumerCreatedAt;
private final Date createdAt;
}
@AllArgsConstructor
@Getter
@ToString
final class ForCreation implements APIKey {
private final String aPIKey;
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();
}
}