davide.cucurnia@vola.it
9 days ago fbce03f80b8ec7f530c8f2e8dd07e9194ae83f14
Merge branch 'main' of https://blit.dubbidigitali.it/r/~fbertilotti/fakesso

# Conflicts:
# app/Http/Controllers/Profiles/ProfilesController.php
# resources/views/vodafone_fake_sso/show-write-view.blade.php
1 files renamed
10 files modified
310 ■■■■ changed files
app/Http/Controllers/Profiles/ProfilesController.php 12 ●●●●● patch | view | raw | blame | history
app/Http/Requests/SSOFormRequest.php 13 ●●●●● patch | view | raw | blame | history
app/Models/Msisdn.php 2 ●●● patch | view | raw | blame | history
app/Models/Products.php 4 ●●●● patch | view | raw | blame | history
app/Vola/Services/FakeSSODatabase/FakeSSODatabaseHandler.php 15 ●●●● patch | view | raw | blame | history
composer.json 2 ●●●●● patch | view | raw | blame | history
composer.lock 156 ●●●●● patch | view | raw | blame | history
config/app.php 3 ●●●● patch | view | raw | blame | history
public/js/create_sso_profiles.js patch | view | raw | blame | history
resources/views/vodafone_fake_sso/show-write-view.blade.php 103 ●●●● patch | view | raw | blame | history
storage/debugbar/.gitignore patch | view | raw | blame | history
app/Http/Controllers/Profiles/ProfilesController.php
@@ -83,17 +83,15 @@
    public function showView()
    {
        return view('vodafone_fake_sso.show-write-view');
        $databaseHandler = new FakeSSODatabaseHandler;
        $productsList = $databaseHandler->readProducts();
        return view('vodafone_fake_sso.show-write-view', [ 'productsList' => $productsList ]);
    }
    public function saveUser(SSOFormRequest $request) {
        echo 'sono il controller post submit di scrittura';
        $data = $request->all();
        //VodafoneUser::save(["Name" => "Paolo", "Surname" => "Test", "EmailAddress" => "paolotest@test.it"]);
        //$databaseHandler = new FakeSSODatabaseHandler;
        print_r($data);
        //$databaseHandler->insertDataIntoTables($data);
        $databaseHandler = new FakeSSODatabaseHandler;
        $databaseHandler->insertDataIntoTables($data);
        return view("vodafone_fake_sso.db-create-view");
    }
app/Http/Requests/SSOFormRequest.php
@@ -24,15 +24,10 @@
    public function rules()
    {
        return [
            'EmailAddress' => 'required|email', //da cambiare con una regular expression?
            'Name' => 'required',
            'Surname' => 'required',
            'sim_1' => 'digits_between:10,10',
            'sim_2' => 'digits_between:10,10',
            'sim_3' => 'digits_between:10,10',
            'sim_4' => 'digits_between:10,10',
            'sim_5' => 'digits_between:10,10',
            'sim_6' => 'digits_between:10,10'
            'EmailAddress' => 'required|email|not_regex:/<[^>]+?>/',
            'Name' => 'required|not_regex:/<[^>]+?>/',
            'Surname' => 'required|not_regex:/<[^>]+?>/',
            'sim_1' => 'digits_between:10,10|not_regex:/<[^>]+?>/'
        ];
    }
}
app/Models/Msisdn.php
@@ -32,7 +32,7 @@
    public function products()
    {
        return $this->belongsToMany(Products::class, 'pivot_msisdn_products', 'idProducts', 'idMsisdn');
        return $this->belongsToMany(Products::class, 'msisdn_has_products', 'idProducts', 'idMsisdn');
    }
}
app/Models/Products.php
@@ -7,7 +7,7 @@
class Products extends Model
{
    protected $table = "fakesso_products";
    /**
     * The attributes that are mass assignable.
     *
@@ -23,7 +23,7 @@
    public function msisdn()
    {
        return $this->belongsToMany(Msisdn::class, 'pivot_msisdn_products', 'idProducts', 'idMsisdn');
        return $this->belongsToMany(Msisdn::class, 'msisdn_has_products', 'idProducts', 'idMsisdn');
    }
}
app/Vola/Services/FakeSSODatabase/FakeSSODatabaseHandler.php
@@ -2,6 +2,7 @@
namespace App\Vola\Services\FakeSSODatabase;
use App\Models\Msisdn;
use App\Models\Products;
use App\Models\VodafoneUser;
use Exception;
use Illuminate\Support\Facades\DB;
@@ -16,14 +17,24 @@
            $userModel = VodafoneUser::create(['Name' => $data["Name"],
                                               'Surname' => $data["Surname"],
                                               'EmailAddress' => $data["EmailAddress"]]);
            Msisdn::create(['MSISDN' => $data["sim_1"],
            $msisdnModel = Msisdn::create(['MSISDN' => $data["sim_1"],
                            'IdPiano' => $data['IdPiano'],
                            'LinkedUser' => $userModel->id]);
            foreach ($data["products_select"] as $index => $value) {
                $product = Products::find($value);
                $product->msisdn()->attach($msisdnModel->id);
            }
        }catch(PDOException $e) {
            echo $e->getMessage();
        }
    }
    public function readProducts(): array {
        $productsList = Products::select("Name", "id")->get()?->toArray();
        return $productsList;
    }
}
composer.json
@@ -14,7 +14,9 @@
        "tymon/jwt-auth": "^2.0.0"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.13",
        "fakerphp/faker": "^1.9.1",
        "filp/whoops": "^2.15",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
composer.lock
@@ -4,7 +4,7 @@
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "1a29797c514288e25436f737bcd414ed",
    "content-hash": "925a8b526edd2fce82a329bec2969723",
    "packages": [
        {
            "name": "asm89/stack-cors",
@@ -6014,6 +6014,90 @@
    ],
    "packages-dev": [
        {
            "name": "barryvdh/laravel-debugbar",
            "version": "v3.13.5",
            "source": {
                "type": "git",
                "url": "https://github.com/barryvdh/laravel-debugbar.git",
                "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/92d86be45ee54edff735e46856f64f14b6a8bb07",
                "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07",
                "shasum": ""
            },
            "require": {
                "illuminate/routing": "^9|^10|^11",
                "illuminate/session": "^9|^10|^11",
                "illuminate/support": "^9|^10|^11",
                "maximebf/debugbar": "~1.22.0",
                "php": "^8.0",
                "symfony/finder": "^6|^7"
            },
            "require-dev": {
                "mockery/mockery": "^1.3.3",
                "orchestra/testbench-dusk": "^5|^6|^7|^8|^9",
                "phpunit/phpunit": "^9.6|^10.5",
                "squizlabs/php_codesniffer": "^3.5"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "3.13-dev"
                },
                "laravel": {
                    "providers": [
                        "Barryvdh\\Debugbar\\ServiceProvider"
                    ],
                    "aliases": {
                        "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar"
                    }
                }
            },
            "autoload": {
                "files": [
                    "src/helpers.php"
                ],
                "psr-4": {
                    "Barryvdh\\Debugbar\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Barry vd. Heuvel",
                    "email": "barryvdh@gmail.com"
                }
            ],
            "description": "PHP Debugbar integration for Laravel",
            "keywords": [
                "debug",
                "debugbar",
                "laravel",
                "profiler",
                "webprofiler"
            ],
            "support": {
                "issues": "https://github.com/barryvdh/laravel-debugbar/issues",
                "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.13.5"
            },
            "funding": [
                {
                    "url": "https://fruitcake.nl",
                    "type": "custom"
                },
                {
                    "url": "https://github.com/barryvdh",
                    "type": "github"
                }
            ],
            "time": "2024-04-12T11:20:37+00:00"
        },
        {
            "name": "doctrine/instantiator",
            "version": "2.0.0",
            "source": {
@@ -6330,6 +6414,74 @@
                "source": "https://github.com/laravel/sail"
            },
            "time": "2024-06-12T16:24:41+00:00"
        },
        {
            "name": "maximebf/debugbar",
            "version": "v1.22.6",
            "source": {
                "type": "git",
                "url": "https://github.com/maximebf/php-debugbar.git",
                "reference": "d7881b498f9e649610bf6ae91cdd6353859f75d2"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/d7881b498f9e649610bf6ae91cdd6353859f75d2",
                "reference": "d7881b498f9e649610bf6ae91cdd6353859f75d2",
                "shasum": ""
            },
            "require": {
                "php": "^7.2|^8",
                "psr/log": "^1|^2|^3",
                "symfony/var-dumper": "^4|^5|^6|^7"
            },
            "require-dev": {
                "dbrekelmans/bdi": "^1",
                "phpunit/phpunit": "^8|^9",
                "symfony/panther": "^1|^2.1",
                "twig/twig": "^1.38|^2.7|^3.0"
            },
            "suggest": {
                "kriswallsmith/assetic": "The best way to manage assets",
                "monolog/monolog": "Log using Monolog",
                "predis/predis": "Redis storage"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.22-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "DebugBar\\": "src/DebugBar/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Maxime Bouroumeau-Fuseau",
                    "email": "maxime.bouroumeau@gmail.com",
                    "homepage": "http://maximebf.com"
                },
                {
                    "name": "Barry vd. Heuvel",
                    "email": "barryvdh@gmail.com"
                }
            ],
            "description": "Debug bar in the browser for php application",
            "homepage": "https://github.com/maximebf/php-debugbar",
            "keywords": [
                "debug",
                "debugbar"
            ],
            "support": {
                "issues": "https://github.com/maximebf/php-debugbar/issues",
                "source": "https://github.com/maximebf/php-debugbar/tree/v1.22.6"
            },
            "time": "2024-09-16T11:47:59+00:00"
        },
        {
            "name": "mockery/mockery",
@@ -8504,5 +8656,5 @@
    "platform-overrides": {
        "php": "8.2"
    },
    "plugin-api-version": "2.3.0"
    "plugin-api-version": "2.6.0"
}
config/app.php
@@ -178,8 +178,7 @@
        App\Providers\RouteServiceProvider::class,
        // service and repository providers
        App\Providers\RepositoryServiceProvider::class,
        App\Providers\ServiceServiceProvider::class,
        App\Providers\ServiceServiceProvider::class
    ],
    /*
public/js/create_sso_profiles.js
resources/views/vodafone_fake_sso/show-write-view.blade.php
@@ -36,34 +36,91 @@
    </style>
</head>
<body>
    <div class="wrapper py-3">
        <section class="border border-dark rounded p-2 my-2">
            <h2 class="text-danger">
                CAMPI DA INSERIRE NEL DATABASE:
            </h2>
            <div class="container">
    <form id="write-form" method="post">
        @csrf
        profile_user_name
        <input type="string" id="profile_user_name"> <br>
        Custcode
        <input type="string" id="Custcode"> <br>
        EmailAddress
        <input type="string" id="EmailAddress"> <br>
        Name
        <input type="string" id="Name"> <br>
        ProfileIdentifier
        <input type="string" id="ProfileIdentifier"> <br>
        Surname
        <input type="string" id="Surname"> <br>
        Username
        <input type="string" id="Username"> <br>
        IdPiano
        <input type="string" id="IdPiano"> <br>
        OMProductId
        <input type="string" id="OMProductId"> <br>
        tmCode
        <input type="string" id="tmCode"> <br>
        sim_1
        <input type="string" id="sim_1"> <br>
                    <div class="row row-cols-2">
                        <label for="products_select">
                            Products
                        </label>
                        <select name="products_select[]" id="products_select" multiple>
                            @foreach ($productsList as $product)
                                <option value="{{ $product["id"] }}">
                                    {{ $product["id"] }}: {{ $product["Name"] }}
                                </option>
                            @endforeach
                        </select> <br>
        <button type="submit" id="database" class="btn btn-sm btn-primary">
                        <div class="col mb-2">
                            <label for="profile_user_name" class="form-label">profile_user_name</label>
                            <input class="form-control" type="string" value="NAME FAKESSO | DUAL TM9 RIC 5.49275" name="profile_user_name" placeholder="profile_user_name" id="profile_user_name">
                        </div>
                        <div class="col mb-2">
                            <label for="Custcode" class="form-label">Custcode</label>
                            <input class="form-control" type="string" value="5.49275" name="Custcode" placeholder="Custcode" id="Custcode">
                        </div>
                        <div class="col mb-2">
                            <label for="EmailAddress" class="form-label">EmailAddress</label>
                            <input class="form-control" type="string" value="pippo@vola.it" name="EmailAddress" placeholder="EmailAddress" id="EmailAddress">
                        </div>
                        <div class="col mb-2">
                            <label for="Name" class="form-label">Name</label>
                            <input class="form-control" type="string" value="Paola" name="Name" placeholder="Name" id="Name">
                        </div>
                        <div class="col mb-2">
                            <label for="ProfileIdentifier" class="form-label">ProfileIdentifier</label>
                            <input class="form-control" type="string" value="BUSINESS_EMPLOYEE" name="ProfileIdentifier" placeholder="ProfileIdentifier" id="ProfileIdentifier">
                        </div>
                        <div class="col mb-2">
                            <label for="Surname" class="form-label">Surname</label>
                            <input class="form-control" type="string" value="Sandrelli" name="Surname" placeholder="Surname" id="Surname">
                        </div>
                        <div class="col mb-2">
                            <label for="Username" class="form-label">Username</label>
                            <input class="form-control" type="string" value="FAKE_SSO_" name="Username" placeholder="Username" id="Username">
                        </div>
                        <div class="col mb-2">
                            <label for="IdPiano" class="form-label">IdPiano</label>
                            <input class="form-control" type="string" value="IdPiano" name="IdPiano" placeholder="IdPiano" id="IdPiano">
                        </div>
                        <div class="col mb-2">
                            <label for="OMProductId" class="form-label">OMProductId</label>
                            <input class="form-control" type="string" value="OMProductId" name="OMProductId" placeholder="OMProductId" id="OMProductId">
                        </div>
                        <div class="col mb-2">
                            <label for="tmCode" class="form-label">tmCode</label>
                            <input class="form-control" type="string" value="tmCode" name="tmCode" placeholder="tmCode" id="tmCode">
                        </div>
                        <div class="col mb-2">
                            <label for="sim_1" class="form-label">sim_1</label>
                            <input class="form-control" type="string" value="3464232371" name="sim_1" placeholder="sim_1" id="sim_1">
                        </div>
                    </div>
                    <button type="submit" name="database" class="btn btn-sm btn-primary">
        INSERT DATABASE
        </button>
    </form>
            </div>
        </section>
    </div>
</body>
</html>
storage/debugbar/.gitignore