improved account controller
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
-- Database generated with pgModeler (PostgreSQL Database Modeler).
|
||||
-- pgModeler version: 0.9.1
|
||||
-- PostgreSQL version: 10.0
|
||||
-- pgModeler version: 0.9.2-beta
|
||||
-- PostgreSQL version: 9.6
|
||||
-- Project Site: pgmodeler.io
|
||||
-- Model Author: Joern Muehlencord
|
||||
-- Model Author: ---
|
||||
|
||||
|
||||
-- Database creation must be done outside a multicommand file.
|
||||
@ -17,8 +17,8 @@
|
||||
--
|
||||
|
||||
-- object: public.config | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.config CASCADE;
|
||||
CREATE TABLE public.config(
|
||||
DROP TABLE IF EXISTS public.config CASCADE;
|
||||
CREATE TABLE public.config (
|
||||
application uuid NOT NULL,
|
||||
config_key varchar(100) NOT NULL,
|
||||
config_key_account uuid NOT NULL,
|
||||
@ -30,8 +30,8 @@ CREATE TABLE public.config(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.application_role | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.application_role CASCADE;
|
||||
CREATE TABLE public.application_role(
|
||||
DROP TABLE IF EXISTS public.application_role CASCADE;
|
||||
CREATE TABLE public.application_role (
|
||||
id uuid NOT NULL,
|
||||
application uuid NOT NULL,
|
||||
role_name character varying(80) NOT NULL,
|
||||
@ -43,8 +43,8 @@ CREATE TABLE public.application_role(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.account | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.account CASCADE;
|
||||
CREATE TABLE public.account(
|
||||
DROP TABLE IF EXISTS public.account CASCADE;
|
||||
CREATE TABLE public.account (
|
||||
id uuid NOT NULL,
|
||||
username character varying(32) NOT NULL,
|
||||
emailaddress character varying(200) NOT NULL,
|
||||
@ -62,8 +62,8 @@ CREATE TABLE public.account(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.account_history | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.account_history CASCADE;
|
||||
CREATE TABLE public.account_history(
|
||||
DROP TABLE IF EXISTS public.account_history CASCADE;
|
||||
CREATE TABLE public.account_history (
|
||||
id uuid NOT NULL,
|
||||
account_id uuid NOT NULL,
|
||||
message character varying(200),
|
||||
@ -77,8 +77,8 @@ CREATE TABLE public.account_history(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.account_role | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.account_role CASCADE;
|
||||
CREATE TABLE public.account_role(
|
||||
DROP TABLE IF EXISTS public.account_role CASCADE;
|
||||
CREATE TABLE public.account_role (
|
||||
account uuid NOT NULL,
|
||||
account_role uuid NOT NULL,
|
||||
CONSTRAINT pk_account_role PRIMARY KEY (account,account_role)
|
||||
@ -87,8 +87,8 @@ CREATE TABLE public.account_role(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.application_permission | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.application_permission CASCADE;
|
||||
CREATE TABLE public.application_permission(
|
||||
DROP TABLE IF EXISTS public.application_permission CASCADE;
|
||||
CREATE TABLE public.application_permission (
|
||||
id uuid NOT NULL,
|
||||
application uuid NOT NULL,
|
||||
permission_name character varying(80) NOT NULL,
|
||||
@ -100,8 +100,8 @@ CREATE TABLE public.application_permission(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.role_permission | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.role_permission CASCADE;
|
||||
CREATE TABLE public.role_permission(
|
||||
DROP TABLE IF EXISTS public.role_permission CASCADE;
|
||||
CREATE TABLE public.role_permission (
|
||||
application_role uuid NOT NULL,
|
||||
role_permission uuid NOT NULL,
|
||||
CONSTRAINT pk_role_permission_role_permission_name PRIMARY KEY (application_role,role_permission)
|
||||
@ -110,8 +110,8 @@ CREATE TABLE public.role_permission(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.mail_template | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.mail_template CASCADE;
|
||||
CREATE TABLE public.mail_template(
|
||||
DROP TABLE IF EXISTS public.mail_template CASCADE;
|
||||
CREATE TABLE public.mail_template (
|
||||
template_name character varying(40) NOT NULL,
|
||||
template_value text NOT NULL,
|
||||
CONSTRAINT mail_template_pk PRIMARY KEY (template_name)
|
||||
@ -120,8 +120,8 @@ CREATE TABLE public.mail_template(
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.application | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.application CASCADE;
|
||||
CREATE TABLE public.application(
|
||||
DROP TABLE IF EXISTS public.application CASCADE;
|
||||
CREATE TABLE public.application (
|
||||
id uuid NOT NULL,
|
||||
application_name varchar(200) NOT NULL,
|
||||
CONSTRAINT application_pk PRIMARY KEY (id)
|
||||
@ -129,15 +129,15 @@ CREATE TABLE public.application(
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- -- object: uuid-ossp | type: EXTENSION --
|
||||
-- -- DROP EXTENSION IF EXISTS uuid-ossp CASCADE;
|
||||
-- CREATE EXTENSION uuid-ossp
|
||||
-- -- object: "uuid-ossp" | type: EXTENSION --
|
||||
-- -- DROP EXTENSION IF EXISTS "uuid-ossp" CASCADE;
|
||||
-- CREATE EXTENSION "uuid-ossp"
|
||||
-- WITH SCHEMA public;
|
||||
-- -- ddl-end --
|
||||
--
|
||||
-- object: public.account_login | type: TABLE --
|
||||
-- DROP TABLE IF EXISTS public.account_login CASCADE;
|
||||
CREATE TABLE public.account_login(
|
||||
DROP TABLE IF EXISTS public.account_login CASCADE;
|
||||
CREATE TABLE public.account_login (
|
||||
id uuid NOT NULL DEFAULT uuid_generate_v4(),
|
||||
account uuid NOT NULL,
|
||||
account_password varchar(200) NOT NULL,
|
||||
@ -157,6 +157,20 @@ CREATE TABLE public.account_login(
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- object: public.api_key | type: TABLE --
|
||||
DROP TABLE IF EXISTS public.api_key CASCADE;
|
||||
CREATE TABLE public.api_key (
|
||||
id uuid NOT NULL,
|
||||
account uuid NOT NULL,
|
||||
api_key varchar(200) NOT NULL,
|
||||
issued_on timestamptz NOT NULL DEFAULT timezone('utc'::text, now()),
|
||||
expiration smallint,
|
||||
expires_on timestamptz NOT NULL,
|
||||
CONSTRAINT api_key_pk PRIMARY KEY (id)
|
||||
|
||||
);
|
||||
-- ddl-end --
|
||||
|
||||
-- object: config_key_account_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.config DROP CONSTRAINT IF EXISTS config_key_account_fk CASCADE;
|
||||
ALTER TABLE public.config ADD CONSTRAINT config_key_account_fk FOREIGN KEY (config_key_account)
|
||||
@ -227,4 +241,11 @@ REFERENCES public.account (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
-- object: api_key_account_fk | type: CONSTRAINT --
|
||||
-- ALTER TABLE public.api_key DROP CONSTRAINT IF EXISTS api_key_account_fk CASCADE;
|
||||
ALTER TABLE public.api_key ADD CONSTRAINT api_key_account_fk FOREIGN KEY (account)
|
||||
REFERENCES public.account (id) MATCH FULL
|
||||
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
-- ddl-end --
|
||||
|
||||
|
||||
|
||||
@ -101,6 +101,11 @@ public abstract class AbstractController<T> {
|
||||
em.remove(attach(entity));
|
||||
}
|
||||
|
||||
@Lock(LockType.READ)
|
||||
public T find(Object id) {
|
||||
return em.find(entityClass, id);
|
||||
}
|
||||
|
||||
@Lock(LockType.READ)
|
||||
public List<T> findAll() {
|
||||
return findAll(new ArrayList<>());
|
||||
|
||||
@ -33,7 +33,11 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.ejb.EJB;
|
||||
import javax.ejb.Lock;
|
||||
import javax.ejb.LockType;
|
||||
import javax.ejb.Stateless;
|
||||
import javax.ejb.TransactionAttribute;
|
||||
import javax.ejb.TransactionAttributeType;
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.NoResultException;
|
||||
@ -106,6 +110,8 @@ public class AccountControl implements Serializable {
|
||||
}
|
||||
|
||||
|
||||
@Lock(LockType.READ)
|
||||
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
|
||||
public AccountEntity getAccountEntity(String userName, boolean loadRoles) {
|
||||
StringBuilder queryBuilder = new StringBuilder();
|
||||
queryBuilder.append("SELECT a FROM AccountEntity a ");
|
||||
|
||||
Reference in New Issue
Block a user