| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- class MinecraftPayAPI {
- /**
- * @API-Callback
- * @Path servers
- *
- * @Request-Method GET
- *
- * @return MinecraftServer[]
- */
- public function GetAllServers() {
- return MinecraftServer::GetAll()->toArray();
- }
-
- /**
- * @API-Callback
- * @Path servers/:id
- * @Require-Login
- * @Require-Permission Minecraft-Pay-Settings
- *
- * @Request-Method PATCH
- *
- * @Parameterized
- *
- * @param MinecraftServer $seerver server to edit
- *
- * @paramget id path id required int
- * @paramget server post server required MinecraftServer
- *
- * @return APIResult< MinecraftServer >
- */
- public static function UpdateServer( int $id, MinecraftServer $server ) {
- $o = MinecraftServer::GetByID( $id );
- if ( $o == null ) {
- $results[] = new APIResult( 'Missing ID', false, $server );
- }
-
- if ( $server->GetName() != null ) $o->SetName( $server->GetName() );
- if ( $server->GetDomain() != null ) $o->SetDomain( $server->GetDomain() );
- if ( $server->GetPort() != null ) $o->SetPort( $server->GetPort() );
- if ( $server->GetPassword() != null ) $o->SetPassword( $server->GetPassword() );
- if ( $server->GetServerPath() != null ) $o->SetServerPath( $server->GetServerPath() );
- if ( $server->GetPerMonthPrice() != null ) $o->SetPerMonthPrice( $server->GetPerMonthPrice() );
- if ( $server->GetMaxPerMonthPrice() != null ) $o->SetMaxPerMonthPrice( $server->GetMaxPerMonthPrice() );
-
- $r = $o->Save();
- return new APIResult( $r ? 'Saved successfully' : 'Saving failed', $r, $r ? $o : MinecraftServer::GetByID( $id ) );
- }
-
- /**
- * @API-Callback
- * @Path servers/:id
- * @Require-Login
- * @Require-Permission Minecraft-Pay-Settings
- *
- * @Request-Method DELETE
- *
- * @Parameterized
- *
- * @paramget id path id required int
- *
- * @return APIResult< MinecraftServer >
- */
- public static function DeleteServer( int $id ) {
- if ( !is_numeric( $id ) ) return new APIResult( 'Invalid ID', false, null );
- $server = MinecraftServer::GetByID( $id );
- $result = null;
- if ( !$server ) {
- $result = new APIResult( 'Server does not exist', false, null );
- } else if ( $server->DELETE() ) {
- $result = new APIResult( 'Deleted server successfully', true, null );
- } else {
- $result = new APIResult( 'Deleting server failed', false, $server );
- }
- return $result;
- }
-
- /**
- * @API-Callback
- * @Path servers
- * @Require-Login
- * @Require-Permission Minecraft-Pay-Settings
- *
- * @Request-Method POST
- *
- * @Parameterized
- *
- * @param MinecraftServer $server to add
- *
- * @paramget server post server required MinecraftServer
- *
- * @return APIResult< MinecraftServer >
- */
- public static function AddMinecraftServer( MinecraftServer $server ) {
- $o = new MinecraftServer();
-
- $o->SetName( $server->GetName() );
-
- $s = $o->Save();
-
- return new APIResult( $s ? 'Created server successfully' : 'The server could not be created', $s, $s ? $o : null );
- }
- }
|