Przeglądaj źródła

repository selector

sunguroku 5 lat temu
rodzic
commit
dd3023541d

+ 27 - 1
dashboard/src/components/image-selector/ImageSelector.tsx

@@ -66,7 +66,33 @@ export default class ImageSelector extends Component<PropsType, StateType> {
   }
 
   componentDidMount() {
-    this.setState({ images: dummyImages });
+    const { currentProject } = this.context;
+    api.getProjectRegistries('<token>', {}, { id: currentProject.id }, (err: any, res: any) => {
+      if (err) {
+        console.log(err);
+      } else {
+        res.data.forEach((registry: any, i: number) => {
+          console.log(registry)
+          api.listRepositories('<token>', {}, 
+            { 
+              project_id: currentProject.id,
+              registry_id: registry.id,
+            }, (err: any, res: any) => {
+            if (err) {
+              this.setState({ loading: false, error: true });
+            } else {
+              let images = res.data.map((img: any) => {
+                return {
+                  kind: registry.service, 
+                  source: img.name
+                }
+              })
+              this.setState({ images, loading: false, error: false });
+            }
+          });    
+        });
+      }
+    });
   }
 
   renderImageList = () => {

+ 8 - 0
dashboard/src/shared/api.tsx

@@ -196,6 +196,13 @@ const createECR = baseApi<{
   return `/api/projects/${pathParams.id}/registries`;
 });
 
+const listRepositories = baseApi<{}, {   
+  project_id: number,
+  registry_id: number,
+ }>('GET', pathParams => {
+  return `/api/projects/${pathParams.project_id}/registries/${pathParams.registry_id}/repositories`;
+});
+
 // Bundle export to allow default api import (api.<method> is more readable)
 export default {
   checkAuth,
@@ -230,4 +237,5 @@ export default {
   getProjectRepos,
   createAWSIntegration,
   createECR,
+  listRepositories,
 }

+ 0 - 1
v.yml

@@ -1 +0,0 @@
-ok: true