<?php


return  
    [
        'model' => [
            'model' => \Litecms\Profile\Models\Profile::class,
            'table' => 'litecms_profile_profiles',
            'hidden'=> [],
            'visible' => [],
            'guarded' => ['*'],
            'slugs' => ['slug' => 'name'],
            'dates' => ['deleted_at', 'created_at', 'updated_at'],
            'appends' => [],
            'fillable' => ['name',  'email',  'sex',  'dob',  'designation',  'description',  'mobile',  'phone',  'address',  'street',  'city',  'district',  'state',  'country',  'photo',  'cover_img',  'languages',  'experience',  'education',  'achievement',  'designations',  'expertise_area',  'cities',  'user_id'],
            'translatables' => [],
            'upload_folder' => 'profile/profile',
            'uploads' => [
            /*
                    'images' => [
                        'count' => 10,
                        'type'  => 'image',
                    ],
                    'file' => [
                        'count' => 1,
                        'type'  => 'file',
                    ],
            */
            ],

            'casts' => [
             
                'marking'    => 'array',
            
            /*
                'images'    => 'array',
                'file'      => 'array',
            */
            ],

            'revision' => [],
            'perPage' => '20',
            'search'        => [
                'name'  => 'like',
                'status',
            ]
        ],

        'search' => [
            
        ],

        'list' => [
            "name" => [
                "key" => "name", 
                "type" => "text", 
                "label" => 'profile::profile.label.name', 
                'sort' => true,
                'roles' => [],
            ],
            "email" => [
                "key" => "email", 
                "type" => "text", 
                "label" => 'profile::profile.label.email', 
                'sort' => true,
                'roles' => [],
            ],
            "sex" => [
                "key" => "sex", 
                "type" => "text", 
                "label" => 'profile::profile.label.sex', 
                'sort' => true,
                'roles' => [],
            ],
            "dob" => [
                "key" => "dob", 
                "type" => "text", 
                "label" => 'profile::profile.label.dob', 
                'sort' => true,
                'roles' => [],
            ],
            "designation" => [
                "key" => "designation", 
                "type" => "text", 
                "label" => 'profile::profile.label.designation', 
                'sort' => true,
                'roles' => [],
            ],
            "description" => [
                "key" => "description", 
                "type" => "text", 
                "label" => 'profile::profile.label.description', 
                'sort' => true,
                'roles' => [],
            ],
            "mobile" => [
                "key" => "mobile", 
                "type" => "text", 
                "label" => 'profile::profile.label.mobile', 
                'sort' => true,
                'roles' => [],
            ],
            "phone" => [
                "key" => "phone", 
                "type" => "text", 
                "label" => 'profile::profile.label.phone', 
                'sort' => true,
                'roles' => [],
            ],
            "address" => [
                "key" => "address", 
                "type" => "text", 
                "label" => 'profile::profile.label.address', 
                'sort' => true,
                'roles' => [],
            ],
            "street" => [
                "key" => "street", 
                "type" => "text", 
                "label" => 'profile::profile.label.street', 
                'sort' => true,
                'roles' => [],
            ],
            "city" => [
                "key" => "city", 
                "type" => "text", 
                "label" => 'profile::profile.label.city', 
                'sort' => true,
                'roles' => [],
            ],
            "district" => [
                "key" => "district", 
                "type" => "text", 
                "label" => 'profile::profile.label.district', 
                'sort' => true,
                'roles' => [],
            ],
            "state" => [
                "key" => "state", 
                "type" => "text", 
                "label" => 'profile::profile.label.state', 
                'sort' => true,
                'roles' => [],
            ],
            "country" => [
                "key" => "country", 
                "type" => "text", 
                "label" => 'profile::profile.label.country', 
                'sort' => true,
                'roles' => [],
            ],
            "photo" => [
                "key" => "photo", 
                "type" => "text", 
                "label" => 'profile::profile.label.photo', 
                'sort' => true,
                'roles' => [],
            ],
            "cover_img" => [
                "key" => "cover_img", 
                "type" => "text", 
                "label" => 'profile::profile.label.cover_img', 
                'sort' => true,
                'roles' => [],
            ],
            "languages" => [
                "key" => "languages", 
                "type" => "text", 
                "label" => 'profile::profile.label.languages', 
                'sort' => true,
                'roles' => [],
            ],
            "experience" => [
                "key" => "experience", 
                "type" => "text", 
                "label" => 'profile::profile.label.experience', 
                'sort' => true,
                'roles' => [],
            ],
            "education" => [
                "key" => "education", 
                "type" => "text", 
                "label" => 'profile::profile.label.education', 
                'sort' => true,
                'roles' => [],
            ],
            "achievement" => [
                "key" => "achievement", 
                "type" => "text", 
                "label" => 'profile::profile.label.achievement', 
                'sort' => true,
                'roles' => [],
            ],
            "designations" => [
                "key" => "designations", 
                "type" => "text", 
                "label" => 'profile::profile.label.designations', 
                'sort' => true,
                'roles' => [],
            ],
            "expertise_area" => [
                "key" => "expertise_area", 
                "type" => "text", 
                "label" => 'profile::profile.label.expertise_area', 
                'sort' => true,
                'roles' => [],
            ],
            "cities" => [
                "key" => "cities", 
                "type" => "text", 
                "label" => 'profile::profile.label.cities', 
                'sort' => true,
                'roles' => [],
            ],
        ],

        'form' => [
            'name' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.name',
                "placeholder" => 'profile::profile.placeholder.name',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'email' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.email',
                "placeholder" => 'profile::profile.placeholder.email',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'sex' => [
                "element" => 'radios',
                "type" => 'radios',
                "label" => 'profile::profile.label.sex',
                "placeholder" => 'profile::profile.placeholder.sex',
                "rules" => '',
                "options" => function(){
                    return [];
                },
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'dob' => [
                "element" => 'date_picker',
                "type" => 'date_picker',
                "label" => 'profile::profile.label.dob',
                "placeholder" => 'profile::profile.placeholder.dob',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'designation' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.designation',
                "placeholder" => 'profile::profile.placeholder.designation',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'description' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.description',
                "placeholder" => 'profile::profile.placeholder.description',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'mobile' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.mobile',
                "placeholder" => 'profile::profile.placeholder.mobile',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'phone' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.phone',
                "placeholder" => 'profile::profile.placeholder.phone',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'address' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.address',
                "placeholder" => 'profile::profile.placeholder.address',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'street' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.street',
                "placeholder" => 'profile::profile.placeholder.street',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'city' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.city',
                "placeholder" => 'profile::profile.placeholder.city',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'district' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.district',
                "placeholder" => 'profile::profile.placeholder.district',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'state' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.state',
                "placeholder" => 'profile::profile.placeholder.state',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'country' => [
                "element" => 'numeric',
                "type" => 'numeric',
                "label" => 'profile::profile.label.country',
                "placeholder" => 'profile::profile.placeholder.country',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'photo' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.photo',
                "placeholder" => 'profile::profile.placeholder.photo',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'cover_img' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.cover_img',
                "placeholder" => 'profile::profile.placeholder.cover_img',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'languages' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.languages',
                "placeholder" => 'profile::profile.placeholder.languages',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'experience' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.experience',
                "placeholder" => 'profile::profile.placeholder.experience',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'education' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.education',
                "placeholder" => 'profile::profile.placeholder.education',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'achievement' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.achievement',
                "placeholder" => 'profile::profile.placeholder.achievement',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'designations' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.designations',
                "placeholder" => 'profile::profile.placeholder.designations',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'expertise_area' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.expertise_area',
                "placeholder" => 'profile::profile.placeholder.expertise_area',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'cities' => [
                "element" => 'text',
                "type" => 'text',
                "label" => 'profile::profile.label.cities',
                "placeholder" => 'profile::profile.placeholder.cities',
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
        ],

        'urls' => [
            'new' => [
                'url' => 'profile/profile/new',
                'method' => 'GET',
            ],
            'create' => [
                'url' => 'profile/profile/create',
                'method' => 'GET',
            ],
            'store' => [
                'url' => 'profile/profile',
                'method' => 'POST',
            ],
            'update' => [
                'url' => 'profile/profile',
                'method' => 'PUT',
            ],
            'list' => [
                'url' => 'profile/profile',
                'method' => 'GET',
            ],
            'delete' => [
                'url' => 'profile/profile',
                'method' => 'DELETE',
            ],
        ],
        'order' => [
            'created_at' => 'profile::profile.label.created_at',
            'name' => 'profile::profile.label.name',
            'status' => 'profile::profile.label.status',
        ],
        'groups' => [
            'main' => 'profile::profile.groups.main',
            'details' => 'profile::profile.groups.details',
            'images' => 'profile::profile.groups.images',
            'settings' => 'profile::profile.groups.settings',
        ],
        'controller' => [
            'provider' => 'Litecms',
            'package' => 'Profile',
            'module' => 'Profile',
        ],

         
        'workflow' => [
            'type' => 'workflow',
            'marking_store' => [
                'type' => 'multiple_state',
                'arguments' => ['status'],
                // 'property' => 'status'
            ],
            'supports' => [
                \Litecms\Profile\Models\Profile::class,
            ],
            'places' => [
                'Draft',
                'Pending',
                'Approved',
                'Closed',
                'Published',
                'Archived',
                'Unpublished',
            ],
            'initial_places' => ['Draft'],
            'transitions' => [
                'submit' => [
                    'from' => 'Draft',
                    'to' => 'Pending',
                    'metadata' => [
                        'roles' => [
                            'user' => ['*'],
                        ],
                        'rules' => [
                            'name' => 'required',
                        ]
                    ],
                ],
                'reject' => [
                    'from' => 'Pending',
                    'to' => 'Draft',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser'],
                            'team' => ['admin', 'manager'],
                        ],
                        'form' => [
                            'count' => [
                                "element" => 'select',
                                "type" => 'select',
                                "label" => 'profile::profile.label.count',
                                "placeholder" => 'profile::profile.placeholder.count',
                                "options" => call_user_func(function () {
                                    return [
                                        1 => ['value' => 1, 'text' => 1],
                                        2 => ['value' => 2, 'text' => 2],
                                        3 => ['value' => 3, 'text' => 3],
                                        4 => ['value' => 4, 'text' => 4]
                                    ];
                                }),
                                "col" => "12",
                            ],
                            'comment' => [
                                "element" => 'textarea',
                                "type" => 'text',
                                "required" => 'required',
                                "label" => 'profile::profile.label.comment',
                                "placeholder" => 'profile::profile.placeholder.comment',
                                "col" => "12",
                            ],
                        ],
                    ],
                ],
                'approve' => [
                    'from' => 'Pending',
                    'to' => 'Approved',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser'],
                            'team' => ['admin', 'manager'],
                        ]
                    ],
                ],
                'publish' => [
                    'from' => ['Approved', 'Unpublished'],
                    'to' => 'Published',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser'],
                            'team' => ['admin'],
                        ]
                    ],
                ],
                'unpublish' => [
                    'from' => ['Published'],
                    'to' => 'Unpublished',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser', 'admin'],
                            'team' => ['admin'],
                        ]
                    ],
                ],
                'archive' => [
                    'from' => ['Published', 'Unpublished'],
                    'to' => 'Archived',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser', 'admin'],
                            'team' => ['admin'],
                        ]
                    ],
                ],
                'unarchive' => [
                    'from' => ['Archived'],
                    'to' => 'Draft',
                    'metadata' => [
                        'roles' => [
                            'user' => ['superuser', 'admin'],
                            'team' => ['admin'],
                        ]
                    ],
                ],
            ],
        ],
        
         
        'actions' => [
            'copy' => [
                'type' => ['Details', 'List'],
                'label' => 'profile::profile.action.copy',
                'roles' => [
                    'user' => ['superuser', 'admin'],
                    'team' => ['admin'],
                    'permission' => ['profile.profile.copy', 'profile.profile.duplicate'],
                ],
                'form' => [
                    'count' => [
                        "element" => 'select',
                        "type" => 'select',
                        "label" => 'profile::profile.label.count',
                        "placeholder" => 'profile::profile.placeholder.count',
                        "options" => call_user_func(function () {
                            return [
                                1 => ['value' => 1, 'text' => 1],
                                2 => ['value' => 2, 'text' => 2],
                                3 => ['value' => 3, 'text' => 3],
                                4 => ['value' => 4, 'text' => 4],
                            ];
                        }),
                        "col" => "12",
                    ],
                    'comment' => [
                        "element" => 'textarea',
                        "type" => 'text',
                        "required" => 'required',
                        "label" => 'profile::profile.label.comment',
                        "placeholder" => 'profile::profile.placeholder.comment',
                        "col" => "12",
                    ],
                ],
            ],
            'empty' => [
                'type' => ['List', 'Details'],
                'label' => 'profile::profile.action.empty',
                'roles' => [
                    'user' => ['superuser'],
                ],
            ],
        ]
        
    ];