<?php

namespace App\Http\Controllers;

use App\StorageContract;
use App\UserType;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class StorageApplicationController extends Controller
{
    /**
     * ログインユーザーの保管契約一覧
     */
    public function myContracts()
    {
        $user = Auth::user();
        $contracts = StorageContract::where('user_id', $user->id)
            ->with('product')
            ->orderBy('id', 'DESC')
            ->get();

        return response()->json($contracts);
    }

    /**
     * ログインユーザーのオーナー報酬一覧
     */
    public function myRewards()
    {
        $user = Auth::user();
        $rewards = \App\OwnerReward::where('owner_id', $user->id)
            ->with(['product', 'order'])
            ->orderBy('id', 'DESC')
            ->get();

        return response()->json($rewards);
    }

    /**
     * ユーザー種別を追加（既に存在する場合はスキップ）
     */
    public function addUserType(Request $request)
    {
        $user = Auth::user();
        $type = (int) $request->input('type');

        if (!in_array($type, [1, 3])) {
            return response()->json(['errors' => '無効な種別です'], 422);
        }

        $exists = UserType::where('user_id', $user->id)->where('type', $type)->exists();
        if (!$exists) {
            UserType::create(['user_id' => $user->id, 'type' => $type]);
        }

        return response()->json(['status' => 'success']);
    }
}
