| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.nifi.registry.web.service; |
| |
| import org.apache.nifi.registry.RegistryConfiguration; |
| import org.apache.nifi.registry.authorization.AccessPolicy; |
| import org.apache.nifi.registry.authorization.CurrentUser; |
| import org.apache.nifi.registry.authorization.Resource; |
| import org.apache.nifi.registry.authorization.User; |
| import org.apache.nifi.registry.authorization.UserGroup; |
| import org.apache.nifi.registry.bucket.Bucket; |
| import org.apache.nifi.registry.bucket.BucketItem; |
| import org.apache.nifi.registry.diff.VersionedFlowDifference; |
| import org.apache.nifi.registry.extension.bundle.Bundle; |
| import org.apache.nifi.registry.extension.bundle.BundleFilterParams; |
| import org.apache.nifi.registry.extension.bundle.BundleType; |
| import org.apache.nifi.registry.extension.bundle.BundleVersion; |
| import org.apache.nifi.registry.extension.bundle.BundleVersionFilterParams; |
| import org.apache.nifi.registry.extension.bundle.BundleVersionMetadata; |
| import org.apache.nifi.registry.extension.component.ExtensionFilterParams; |
| import org.apache.nifi.registry.extension.component.ExtensionMetadata; |
| import org.apache.nifi.registry.extension.component.TagCount; |
| import org.apache.nifi.registry.extension.component.manifest.Extension; |
| import org.apache.nifi.registry.extension.component.manifest.ProvidedServiceAPI; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoArtifact; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoBucket; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoExtensionMetadata; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoGroup; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoVersion; |
| import org.apache.nifi.registry.extension.repo.ExtensionRepoVersionSummary; |
| import org.apache.nifi.registry.flow.VersionedFlow; |
| import org.apache.nifi.registry.flow.VersionedFlowSnapshot; |
| import org.apache.nifi.registry.flow.VersionedFlowSnapshotMetadata; |
| import org.apache.nifi.registry.revision.entity.RevisionInfo; |
| import org.apache.nifi.registry.security.authorization.RequestAction; |
| |
| import javax.ws.rs.core.StreamingOutput; |
| import java.io.IOException; |
| import java.io.InputStream; |
| import java.net.URI; |
| import java.util.List; |
| import java.util.Set; |
| import java.util.SortedSet; |
| |
| public interface ServiceFacade { |
| |
| // ---------------------- Bucket methods ---------------------------------------------- |
| |
| Bucket createBucket(Bucket bucket); |
| |
| Bucket getBucket(String bucketIdentifier); |
| |
| List<Bucket> getBuckets(); |
| |
| Bucket updateBucket(Bucket bucket); |
| |
| Bucket deleteBucket(String bucketIdentifier, RevisionInfo revisionInfo); |
| |
| // ---------------------- BucketItem methods ---------------------------------------------- |
| |
| List<BucketItem> getBucketItems(String bucketIdentifier); |
| |
| List<BucketItem> getBucketItems(); |
| |
| // ---------------------- Flow methods ---------------------------------------------- |
| |
| VersionedFlow createFlow(String bucketIdentifier, VersionedFlow versionedFlow); |
| |
| VersionedFlow getFlow(String bucketIdentifier, String flowIdentifier); |
| |
| VersionedFlow getFlow(String flowIdentifier); |
| |
| List<VersionedFlow> getFlows(String bucketId); |
| |
| VersionedFlow updateFlow(VersionedFlow versionedFlow); |
| |
| VersionedFlow deleteFlow(String bucketIdentifier, String flowIdentifier, RevisionInfo revisionInfo); |
| |
| // ---------------------- Flow Snapshot methods ---------------------------------------------- |
| |
| VersionedFlowSnapshot createFlowSnapshot(VersionedFlowSnapshot flowSnapshot); |
| |
| VersionedFlowSnapshot getFlowSnapshot(String bucketIdentifier, String flowIdentifier, Integer version); |
| |
| VersionedFlowSnapshot getFlowSnapshot(String flowIdentifier, Integer version); |
| |
| VersionedFlowSnapshot getLatestFlowSnapshot(String bucketIdentifier, String flowIdentifier); |
| |
| VersionedFlowSnapshot getLatestFlowSnapshot(String flowIdentifier); |
| |
| SortedSet<VersionedFlowSnapshotMetadata> getFlowSnapshots(String bucketIdentifier, String flowIdentifier); |
| |
| SortedSet<VersionedFlowSnapshotMetadata> getFlowSnapshots(String flowIdentifier); |
| |
| VersionedFlowSnapshotMetadata getLatestFlowSnapshotMetadata(String bucketIdentifier, String flowIdentifier); |
| |
| VersionedFlowSnapshotMetadata getLatestFlowSnapshotMetadata(String flowIdentifier); |
| |
| VersionedFlowDifference getFlowDiff(String bucketIdentifier, String flowIdentifier, Integer versionA, Integer versionB); |
| |
| // ---------------------- Bundle methods ---------------------------------------------- |
| |
| List<Bundle> getBundles(BundleFilterParams filterParams); |
| |
| List<Bundle> getBundlesByBucket(String bucketIdentifier); |
| |
| Bundle getBundle(String bundleIdentifier); |
| |
| Bundle deleteBundle(String bundleIdentifier); |
| |
| // ---------------------- Bundle Version methods ---------------------------------------------- |
| |
| BundleVersion createBundleVersion(String bucketIdentifier, BundleType bundleType, InputStream inputStream, String clientSha256) throws IOException; |
| |
| SortedSet<BundleVersionMetadata> getBundleVersions(BundleVersionFilterParams filterParams); |
| |
| SortedSet<BundleVersionMetadata> getBundleVersions(String bundleIdentifier); |
| |
| BundleVersion getBundleVersion(String bundleId, String version); |
| |
| StreamingContent getBundleVersionContent(String bundleId, String version); |
| |
| BundleVersion deleteBundleVersion(String bundleId, String version); |
| |
| // ---------------------- Extension methods ---------------------------------------------- |
| |
| SortedSet<ExtensionMetadata> getExtensionMetadata(ExtensionFilterParams filterParams); |
| |
| SortedSet<ExtensionMetadata> getExtensionMetadata(ProvidedServiceAPI serviceAPI); |
| |
| SortedSet<ExtensionMetadata> getExtensionMetadata(String bundleIdentifier, String version); |
| |
| Extension getExtension(String bundleIdentifier, String version, String name); |
| |
| StreamingOutput getExtensionDocs(String bundleIdentifier, String version, String name); |
| |
| StreamingOutput getAdditionalDetailsDocs(String bundleIdentifier, String version, String name); |
| |
| SortedSet<TagCount> getExtensionTags(); |
| |
| // ---------------------- Extension Repository methods ---------------------------------------------- |
| |
| SortedSet<ExtensionRepoBucket> getExtensionRepoBuckets(URI baseUri); |
| |
| SortedSet<ExtensionRepoGroup> getExtensionRepoGroups(URI baseUri, String bucketName); |
| |
| SortedSet<ExtensionRepoArtifact> getExtensionRepoArtifacts(URI baseUri, String bucketName, String groupId); |
| |
| SortedSet<ExtensionRepoVersionSummary> getExtensionRepoVersions(URI baseUri, String bucketName, String groupId, String artifactId); |
| |
| ExtensionRepoVersion getExtensionRepoVersion(URI baseUri, String bucketName, String groupId, String artifactId, String version); |
| |
| StreamingContent getExtensionRepoVersionContent(String bucketName, String groupId, String artifactId, String version); |
| |
| String getExtensionRepoVersionSha256(String bucketName, String groupId, String artifactId, String version); |
| |
| List<ExtensionRepoExtensionMetadata> getExtensionRepoExtensions(URI baseUri, String bucketName, String groupId, String artifactId, String version); |
| |
| Extension getExtensionRepoExtension(URI baseUri, String bucketName, String groupId, String artifactId, String version, String extensionName); |
| |
| StreamingOutput getExtensionRepoExtensionDocs(URI baseUri, String bucketName, String groupId, String artifactId, String version, String extensionName); |
| |
| StreamingOutput getExtensionRepoExtensionAdditionalDocs(URI baseUri, String bucketName, String groupId, String artifactId, String version, String extensionName); |
| |
| // ---------------------- Field methods --------------------------------------------- |
| |
| Set<String> getBucketFields(); |
| |
| Set<String> getBucketItemFields(); |
| |
| Set<String> getFlowFields(); |
| |
| // ---------------------- User methods ---------------------------------------------- |
| |
| User createUser(User user); |
| |
| List<User> getUsers(); |
| |
| User getUser(String identifier); |
| |
| User updateUser(User user); |
| |
| User deleteUser(String identifier, RevisionInfo revisionInfo); |
| |
| // ---------------------- User Group methods -------------------------------------- |
| |
| UserGroup createUserGroup(UserGroup userGroup); |
| |
| List<UserGroup> getUserGroups(); |
| |
| UserGroup getUserGroup(String identifier); |
| |
| UserGroup updateUserGroup(UserGroup userGroup); |
| |
| UserGroup deleteUserGroup(String identifier, RevisionInfo revisionInfo); |
| |
| // ---------------------- Access Policy methods ---------------------------------------- |
| |
| AccessPolicy createAccessPolicy(AccessPolicy accessPolicy); |
| |
| AccessPolicy getAccessPolicy(String identifier); |
| |
| AccessPolicy getAccessPolicy(String resource, RequestAction action); |
| |
| List<AccessPolicy> getAccessPolicies(); |
| |
| AccessPolicy updateAccessPolicy(AccessPolicy accessPolicy); |
| |
| AccessPolicy deleteAccessPolicy(String identifier, RevisionInfo revisionInfo); |
| |
| List<Resource> getResources(); |
| |
| // ---------------------- Permission methods ---------------------------------------- |
| |
| CurrentUser getCurrentUser(); |
| |
| // ---------------------- Configuration methods ------------------------------------ |
| |
| RegistryConfiguration getRegistryConfiguration(); |
| |
| } |