<?php

namespace Wun\Wun\Workflow;

use Wun\Wun\Models\Systemsettings;
use Validator;

class SystemsettingsValidator
{

    /**
     * Determine if the given systemsettings is valid for complete status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function complete(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title' => 'required|min:15',
        ]);
    }

    /**
     * Determine if the given systemsettings is valid for verify status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function verify(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title'  => 'required|min:15',
            'status' => 'in:complete',
        ]);
    }

    /**
     * Determine if the given systemsettings is valid for approve status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function approve(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title'  => 'required|min:15',
            'status' => 'in:verify',
        ]);

    }

    /**
     * Determine if the given systemsettings is valid for publish status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function publish(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title'       => 'required|min:15',
            'description' => 'required|min:50',
            'status'      => 'in:approve,archive,unpublish',
        ]);

    }

    /**
     * Determine if the given systemsettings is valid for archive status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function archive(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title'       => 'required|min:15',
            'description' => 'required|min:50',
            'status'      => 'in:approve,publish,unpublish',
        ]);

    }

    /**
     * Determine if the given systemsettings is valid for unpublish status.
     *
     * @param Systemsettings $systemsettings
     *
     * @return bool / Validator
     */
    public function unpublish(Systemsettings $systemsettings)
    {
        return Validator::make($systemsettings->toArray(), [
            'title'       => 'required|min:15',
            'description' => 'required|min:50',
            'status'      => 'in:publish',
        ]);

    }
}