/* © SRSoftware 2025 */
package de.srsoftware.umbrella.user;

import java.time.Duration;

public class Constants {
	private Constants(){}

	public static final String AUTH_ENDPOINT = "authorization_endpoint";
	public static final String AUTHORIZATION_CODE = "authorization_code";

	public static final String CLIENT_ID = "client_id";
	public static final String CLIENT_SECRET = "client_secret";
	public static final String CONFIG_DATABASE = "umbrella.modules.user.database";

	public static final String DEFAULT_FIELD = "sub";
	public static final Duration DEFAULT_SESSION_DURATION = Duration.ofMinutes(20);

	public static final String FAILED_LOGINS = "failed_logins";
	public static final String FOREIGN_ID = "foreign_id";
	public static final String GRANT_TYPE = "grant_type";

	public static final String ID_TOKEN = "id_token";
	public static final String JWKS_ENDPOINT = "jwks_uri";

	public static final String LAST_LOGOFF = "last_logoff";
	public static final String MESSAGE_DELIVERY = "message_delivery";
	public static final String OIDC = "oidc";
	public static final String OIDC_CALLBACK = "redirect_uri";
	public static final String OIDC_SCOPE = "openid";

	public static final String REDIRECT_URI = "redirect_uri";
	public static final String RELEASE_TIME = "release_time";
	public static final String RESPONSE_TYPE = "response_type";
	public static final String SCOPE = "scope";
	public static final String SERVICE_ID = "service_id";

	public static final String TABLE_LOGIN_SERVICES = "login_services";
	public static final String TABLE_SERVICE_IDS_USERS = "service_ids_users";
	public static final String TABLE_TOKENS = "tokens";
	public static final String TABLE_TOKEN_USES = "token_uses";
	public static final String TABLE_USERS = "users";

	public static final String TOKEN_ENDPOINT = "token_endpoint";
	public static final String USER_INFO_FIELD = "user_info_field";
	public static final String USERNAME = "username";
}
