@Override public GraphPermission getReadPermission(InternalActionContext ac) { switch (ContainerType.forVersion(ac.getVersioningParameters().getVersion())) { case PUBLISHED: return GraphPermission.READ_PUBLISHED_PERM; default: return GraphPermission.READ_PERM; } }
/** * Find a node field container that matches the nearest possible value for the language parameter. * * @param ac * @param languageTags * @return Next matching field container or null when no language matches */ default NodeGraphFieldContainer findVersion(InternalActionContext ac, List<String> languageTags) { return findVersion(languageTags, ac.getBranch().getUuid(), ac.getVersioningParameters().getVersion()); }
public Object languagesFetcher(DataFetchingEnvironment env) { NodeContent content = env.getSource(); if (content == null) { return null; } GraphQLContext gc = env.getContext(); Branch branch = gc.getBranch(); ContainerType type = ContainerType.forVersion(gc.getVersioningParameters().getVersion()); Stream<? extends NodeGraphFieldContainer> stream = StreamSupport .stream(content.getNode().getGraphFieldContainersIt(branch, type).spliterator(), false); return stream.map(item -> { return new NodeContent(content.getNode(), item, content.getLanguageFallback()); }).collect(Collectors.toList()); }
@Override public Set<String> getSelectedIndices(InternalActionContext ac) { return db.tx(() -> { Set<String> indices = new HashSet<>(); Project project = ac.getProject(); if (project != null) { Branch branch = ac.getBranch(); // Locate all schema versions which need to be taken into consideration when choosing the indices for (SchemaContainerVersion version : branch.findActiveSchemaVersions()) { indices.add(NodeGraphFieldContainer.composeIndexName(project.getUuid(), branch.getUuid(), version.getUuid(), ContainerType .forVersion(ac.getVersioningParameters().getVersion()))); } } else { // The project was not specified. Maybe a global search wants to know which indices must be searched. // In that case we just iterate over all projects and collect index names per branch. for (Project currentProject : boot.meshRoot().getProjectRoot().findAll()) { for (Branch branch : currentProject.getBranchRoot().findAll()) { for (SchemaContainerVersion version : branch.findActiveSchemaVersions()) { indices.add(NodeGraphFieldContainer.composeIndexName(currentProject.getUuid(), branch.getUuid(), version.getUuid(), ContainerType.forVersion(ac.getVersioningParameters().getVersion()))); } } } } return indices; }); }
ContainerType type = ContainerType.forVersion(ac.getVersioningParameters().getVersion()); Language language = boot.languageRoot().findByLanguageTag(languageTag); if (language== null) {
gc.getBranch().getUuid(), gc.getUser(), ContainerType.forVersion(gc.getVersioningParameters().getVersion()) ).spliterator(), false) .map(node -> {
ContainerType type = ContainerType.forVersion(gc.getVersioningParameters().getVersion()); Stack<String> pathStack = new Stack<>(); pathStack.add(nodePath); return null; ContainerType containerType = ContainerType.forVersion(gc.getVersioningParameters().getVersion()); String branchUuid = gc.getBranch().getUuid(); String languageTag = container.getLanguageTag();