/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('mods')->delete();
     $testmod = Mod::create(array('pretty_name' => 'TestMod', 'name' => 'testmod', 'description' => 'This is a test mod for Solder', 'author' => 'Technic', 'link' => 'http://solder.io'));
     DB::table('modversions')->delete();
     $testmodversion = Modversion::create(array('mod_id' => $testmod->id, 'version' => '0.1', 'md5' => 'fb6582e4d9c9bc208181907ecc108eb1'));
 }
Ejemplo n.º 2
0
 public function getMod($mod = null, $version = null)
 {
     if (empty($mod)) {
         return response()->json(array("error" => "No mod requested"));
     }
     if (Cache::has('mod.' . $mod)) {
         $mod = Cache::get('mod.' . $mod);
     } else {
         $modname = $mod;
         $mod = Mod::where('name', '=', $mod)->first();
         Cache::put('mod.' . $modname, $mod, 5);
     }
     if (empty($mod)) {
         return response()->json(array('error' => 'Mod does not exist'));
     }
     if (empty($version)) {
         return response()->json($this->fetchMod($mod));
     }
     return response()->json($this->fetchModversion($mod, $version));
 }
Ejemplo n.º 3
0
 public function replies($time = null)
 {
     $replies = Mod::query()->whereNotNull('parent_item_id')->where('beatmapset_id', '=', $this->beatmapset_id)->orderBy('created_at', 'asc');
     if ($time) {
         // also grab soft-deleted posts
         $replies = $replies->where(function ($query) use($time) {
             $query->where(DB::raw('UNIX_TIMESTAMP(`created_at`)'), '>', $time);
             $query->orWhere(DB::raw('UNIX_TIMESTAMP(`updated_at`)'), '>', $time);
         })->withTrashed();
     }
     $replies = $replies->get()->load('creator');
     $new = [];
     foreach ($replies as $reply) {
         if (!isset($new[$reply->parent_item_id])) {
             $new[$reply->parent_item_id] = [];
         }
         $new[$reply->parent_item_id][$reply->item_id] = $reply->toArray();
     }
     return $new;
 }
Ejemplo n.º 4
0
 public function replies($time = null)
 {
     $replies = Mod::query()->whereNotNull("parent_item_id")->where("beatmapset_id", "=", $this->beatmapset_id)->orderBy("created_at", "asc");
     if ($time) {
         // also grab soft-deleted posts
         $replies = $replies->where(function ($query) use($time) {
             $query->where(DB::raw("UNIX_TIMESTAMP(`created_at`)"), ">", $time);
             $query->orWhere(DB::raw("UNIX_TIMESTAMP(`updated_at`)"), ">", $time);
         })->withTrashed();
     }
     $replies = $replies->get()->load("creator");
     $new = [];
     foreach ($replies as $reply) {
         if (!isset($new[$reply->parent_item_id])) {
             $new[$reply->parent_item_id] = [];
         }
         $new[$reply->parent_item_id][$reply->item_id] = $reply->toArray();
     }
     return $new;
 }
Ejemplo n.º 5
0
 public function testModVersion()
 {
     $mod = Mod::find(1);
     $modversion = $mod->versions->first();
     $response = $this->call('GET', '/mod/' . $mod->name . '/' . $modversion->version);
     $this->assertResponseOk();
     $this->assertTrue(is_a($response, 'Illuminate\\Http\\JsonResponse'));
     $json = $response->getData(true);
     $this->assertTrue(array_key_exists('md5', $json));
     $this->assertTrue(array_key_exists('url', $json));
 }