Skip to content

Commit

Permalink
Adding ability to retrieve docker_images value (#78)
Browse files Browse the repository at this point in the history
* Adding ability to retrieve docker_images value

* chore: run the spotless checks

---------

Co-authored-by: Matt Malec <[email protected]>
  • Loading branch information
Goksi and mattmalec authored Apr 2, 2024
1 parent d99570a commit 844ffdc
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2021-2022 Matt Malec, and the Pterodactyl4J contributors
* Copyright 2021-2024 Matt Malec, and the Pterodactyl4J contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -74,6 +74,8 @@ public interface ApplicationEgg extends Egg, ISnowflake {
*/
String getDockerImage();

List<DockerImage> getDockerImages();

/**
* The stop command for the ApplicationEgg
* <br>This is ran when a user executes {@link ClientServer#stop()} or hits the <code>Stop</code> button on the panel
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* Copyright 2024 Matt Malec, and the Pterodactyl4J contributors
*
* Licensed 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 com.mattmalec.pterodactyl4j.application.entities;

public interface DockerImage {
String getName();

String getImage();
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2021-2022 Matt Malec, and the Pterodactyl4J contributors
* Copyright 2021-2024 Matt Malec, and the Pterodactyl4J contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -19,6 +19,7 @@
import com.mattmalec.pterodactyl4j.EnvironmentValue;
import com.mattmalec.pterodactyl4j.PteroAction;
import com.mattmalec.pterodactyl4j.application.entities.ApplicationEgg;
import com.mattmalec.pterodactyl4j.application.entities.DockerImage;
import com.mattmalec.pterodactyl4j.application.entities.Nest;
import com.mattmalec.pterodactyl4j.application.entities.Script;
import com.mattmalec.pterodactyl4j.requests.CompletedPteroAction;
Expand Down Expand Up @@ -82,6 +83,16 @@ public String getDockerImage() {
return json.getString("docker_image");
}

@Override
public List<DockerImage> getDockerImages() {
JSONObject images = json.getJSONObject("docker_images");
List<DockerImage> dockerImages = new ArrayList<>();
for (String key : images.keySet()) {
dockerImages.add(new DockerImageImpl(key, images.getString(key)));
}
return dockerImages;
}

@Override
public String getStopCommand() {
return json.getString("stop");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright 2024 Matt Malec, and the Pterodactyl4J contributors
*
* Licensed 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 com.mattmalec.pterodactyl4j.application.entities.impl;

import com.mattmalec.pterodactyl4j.application.entities.DockerImage;

public class DockerImageImpl implements DockerImage {
private final String name;
private final String image;

public DockerImageImpl(String name, String image) {
this.name = name;
this.image = image;
}

@Override
public String getName() {
return name;
}

@Override
public String getImage() {
return image;
}
}

0 comments on commit 844ffdc

Please sign in to comment.