public function setDefault(LanguageListener $listener, $id)
    {
        DB::beginTransaction();
        try {
            $current             = Languages::query()->where('is_default', 1)->firstOrFail();
            $current->is_default = 0;
            $current->save();

            $language             = Languages::query()->findOrFail($id);
            $language->is_default = 1;
            $language->save();
        } catch (Exception $ex) {
            DB::rollback();
            return $listener->defaultFailed($ex->getMessage());
        }
        DB::commit();
        return $listener->defaultSuccess();
    }