private static SelectJoinStep<Record5<UUID, UUID, String, String, String>> selectTeams(DSLContext tx) { Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME) .from(ORGANIZATIONS) .where(ORGANIZATIONS.ORG_ID.eq(TEAMS.ORG_ID)).asField(); return tx.select(TEAMS.TEAM_ID, TEAMS.ORG_ID, orgNameField, TEAMS.TEAM_NAME, TEAMS.DESCRIPTION) .from(TEAMS); }
private Field<Number> count(DSLContext tx, Field<UUID> parentInstanceId, ProcessKind kind) { return tx.selectCount() .from(PROCESS_QUEUE) .where(PROCESS_QUEUE.PARENT_INSTANCE_ID.eq(parentInstanceId) .and(PROCESS_QUEUE.PROCESS_KIND.eq(kind.toString()))) .asField(); }
private static SelectJoinStep<Record12<UUID, String, UUID, String, UUID, String, UUID, String, String, String, String, String>> selectEntry(DSLContext tx) { Field<String> orgName = select(ORGANIZATIONS.ORG_NAME) .from(ORGANIZATIONS) .where(ORGANIZATIONS.ORG_ID.eq(SECRETS.ORG_ID)).asField(); Field<String> projectName = select(PROJECTS.PROJECT_NAME) .from(PROJECTS) .where(PROJECTS.PROJECT_ID.eq(SECRETS.PROJECT_ID)).asField(); Field<String> ownerUsernameField = select(USERS.USERNAME) .from(USERS) .where(USERS.USER_ID.eq(SECRETS.OWNER_ID)) .asField(); return tx.select(SECRETS.SECRET_ID, SECRETS.SECRET_NAME, SECRETS.ORG_ID, orgName, SECRETS.PROJECT_ID, projectName, SECRETS.OWNER_ID, ownerUsernameField, SECRETS.SECRET_TYPE, SECRETS.ENCRYPTED_BY, SECRETS.STORE_TYPE, SECRETS.VISIBILITY) .from(SECRETS); }
public UUID getOrgId(UUID instanceId) { try (DSLContext tx = DSL.using(cfg)) { Field<UUID> orgId = select(PROJECTS.ORG_ID) .from(PROJECTS) .where(PROJECTS.PROJECT_ID.eq(PROCESS_QUEUE.PROJECT_ID)) .asField(); return tx.select(orgId) .from(PROCESS_QUEUE) .where(PROCESS_QUEUE.INSTANCE_ID.eq(instanceId)) .fetchOne(orgId); } }
public List<InventoryEntry> list(UUID orgId) { try (DSLContext tx = DSL.using(cfg)) { Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME) .from(ORGANIZATIONS) .where(ORGANIZATIONS.ORG_ID.eq(INVENTORIES.ORG_ID)) .asField(); Field<String> ownerUsernameField = select(USERS.USERNAME) .from(USERS) .where(USERS.USER_ID.eq(INVENTORIES.OWNER_ID)) .asField(); return tx.select(INVENTORIES.INVENTORY_ID, INVENTORIES.INVENTORY_NAME, INVENTORIES.ORG_ID, orgNameField, INVENTORIES.VISIBILITY, INVENTORIES.OWNER_ID, ownerUsernameField, INVENTORIES.PARENT_INVENTORY_ID) .from(INVENTORIES) .where(INVENTORIES.ORG_ID.eq(orgId)) .orderBy(INVENTORIES.INVENTORY_NAME) .fetch(InventoryDao::toEntry); } }
Inventories i2 = INVENTORIES.as("i2"); Field<String> orgNameField1 = select(ORGANIZATIONS.ORG_NAME).from(ORGANIZATIONS).where(ORGANIZATIONS.ORG_ID.eq(i1.ORG_ID)).asField(); Field<String> orgNameField2 = select(ORGANIZATIONS.ORG_NAME).from(ORGANIZATIONS).where(ORGANIZATIONS.ORG_ID.eq(i2.ORG_ID)).asField(); .asField(); .asField();
private UserEntry getUserInfo(DSLContext tx, Record5<UUID, String, String, Boolean, String> r) { // TODO join? Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME) .from(ORGANIZATIONS) .where(ORGANIZATIONS.ORG_ID.eq(TEAMS.ORG_ID)).asField(); SelectConditionStep<Record1<UUID>> teamIds = select(USER_TEAMS.TEAM_ID) .from(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(r.get(USERS.USER_ID))); List<OrganizationEntry> orgs = tx.selectDistinct(TEAMS.ORG_ID, orgNameField) .from(TEAMS) .where(TEAMS.TEAM_ID.in(teamIds)) .fetch(e -> new OrganizationEntry(e.value1(), e.value2(), null, null,null)); List<RoleEntry> roles = tx.select(ROLES.ROLE_ID, ROLES.ROLE_NAME, ROLES.GLOBAL_READER, ROLES.GLOBAL_WRITER) .from(ROLES) .where(ROLES.ROLE_ID.in(select(USER_ROLES.ROLE_ID).from(USER_ROLES).where(USER_ROLES.USER_ID.eq(r.get(USERS.USER_ID))))) .fetch(e -> new RoleEntry(e.value1(), e.value2(), e.value3(), e.value4())); return new UserEntry(r.get(USERS.USER_ID), r.get(USERS.USERNAME), new HashSet<>(orgs), r.get(USERS.IS_ADMIN), UserType.valueOf(r.get(USERS.USER_TYPE)), r.get(USERS.USER_EMAIL), new HashSet<>(roles)); }
.where(ORGANIZATIONS.ORG_ID.eq(Tables.PROJECTS.ORG_ID)).asField(ORGANIZATIONS.ORG_NAME.getName()); query.addSelect(orgNameField); inline("createdAt"), toJsonDate(pc.CHECKPOINT_DATE)))))) .from(pc) .where(pc.INSTANCE_ID.eq(PROCESS_QUEUE.INSTANCE_ID)).asField("checkpoints"); .and(pe.EVENT_TYPE.eq(EventType.PROCESS_STATUS.name()) .and(pe.EVENT_DATE.greaterOrEqual(PROCESS_QUEUE.CREATED_AT)))) .asField("status_history"); query.addSelect(history);
public LandingEntry get(UUID id) { LandingPage lp = LANDING_PAGE.as("lp"); Projects p = PROJECTS.as("p"); Repositories r = REPOSITORIES.as("r"); Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME).from(ORGANIZATIONS).where(ORGANIZATIONS.ORG_ID.eq(p.ORG_ID)).asField(); try (DSLContext tx = DSL.using(cfg)) { return tx .select(lp.LANDING_PAGE_ID, p.ORG_ID, orgNameField, lp.PROJECT_ID, p.PROJECT_NAME, r.REPO_NAME, lp.NAME, lp.DESCRIPTION, lp.ICON) .from(lp) .innerJoin(p).on(p.PROJECT_ID.eq(lp.PROJECT_ID)) .innerJoin(r).on(r.REPO_ID.eq(lp.REPO_ID)) .where(lp.LANDING_PAGE_ID.eq(id)) .fetchOne(LandingDao::toEntity); } }
private Record10<UUID, Timestamp, UUID, UUID, UUID, UUID, String, String, String, UUID> nextItem(DSLContext tx, Map<String, Object> capabilities, Set<UUID> excludeProjectIds) { ProcessQueue q = PROCESS_QUEUE.as("q"); Field<UUID> orgIdField = select(PROJECTS.ORG_ID).from(PROJECTS).where(PROJECTS.PROJECT_ID.eq(q.PROJECT_ID)).asField();
Field<UUID> orgIdField = select(PROJECTS.ORG_ID).from(PROJECTS).where(PROJECTS.PROJECT_ID.eq(t.PROJECT_ID)).asField(); Field<String> specField = field("{0}->>'spec'", String.class, t.CONDITIONS); Field<String> timezoneField = field("{0}->>'timezone'", String.class, t.CONDITIONS);
Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME).from(ORGANIZATIONS).where(ORGANIZATIONS.ORG_ID.eq(p.ORG_ID)).asField(); Field<String> ownerUsernameField = select(USERS.USERNAME).from(USERS).where(USERS.USER_ID.eq(p.OWNER_ID)).asField(); Field<String> metaField = p.META.cast(String.class);
private List<LandingEntry> list(DSLContext tx, UUID orgId, UUID currentUserId) { LandingPage lp = LANDING_PAGE.as("lp"); Projects p = PROJECTS.as("p"); Repositories r = REPOSITORIES.as("r"); Field<String> orgNameField = select(ORGANIZATIONS.ORG_NAME).from(ORGANIZATIONS).where(ORGANIZATIONS.ORG_ID.eq(p.ORG_ID)).asField(); SelectConditionStep<Record1<UUID>> teamIds = select(TEAMS.TEAM_ID) .from(TEAMS) .where(TEAMS.ORG_ID.eq(orgId)); Condition filterByTeamMember = exists(selectOne().from(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(currentUserId) .and(USER_TEAMS.TEAM_ID.in(teamIds)))); SelectJoinStep<Record9<UUID, UUID, String, UUID, String, String, String, String, byte[]>> q = tx.select(lp.LANDING_PAGE_ID, p.ORG_ID, orgNameField, lp.PROJECT_ID, p.PROJECT_NAME, r.REPO_NAME, lp.NAME, lp.DESCRIPTION, lp.ICON) .from(lp) .innerJoin(p).on(p.PROJECT_ID.eq(lp.PROJECT_ID)) .innerJoin(r).on(r.REPO_ID.eq(lp.REPO_ID)); if (currentUserId != null) { q.where(or(p.VISIBILITY.eq(ProjectVisibility.PUBLIC.toString()), filterByTeamMember)); } return q.orderBy(lp.NAME) .fetch(LandingDao::toEntity); }