# User

# Beschreibung

Beinhaltet Informationen über den User.

# altes user-Model

# old migration

CREATE TABLE `pyou_users` (
    `user_uuid` varchar(36) NOT NULL,
    `user_password` text CHARACTER SET utf8,
    `user_active` int(1) DEFAULT NULL,
    `user_light_account` int(1) DEFAULT NULL,
    `referral_code` varchar(15) DEFAULT NULL,
    `referral_is_payed` int(1) DEFAULT NULL,
    `wants_newsletter` int(1) DEFAULT NULL,
    `newsletter_confirmed` timestamp NULL DEFAULT NULL,
    `newsletter_hash` varchar(36) DEFAULT NULL,
    `user_useragent` text,
    `user_logincount` int(11) DEFAULT '0',
    `user_ts_lastlogin` timestamp NULL DEFAULT NULL,
    `user_ts_lastcheck` timestamp NULL DEFAULT NULL,
    `user_ts_tracked` timestamp NULL DEFAULT NULL,
    `user_ts_init` timestamp NULL DEFAULT NULL,
    `user_ts_create` timestamp NULL DEFAULT NULL,
    `user_ts_update` timestamp NULL DEFAULT NULL,
    `user_ts_delete` timestamp NULL DEFAULT NULL,
    PRIMARY KEY (`user_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

# neues User-Model

Anmerkung

  • Functionality
  • Implementierung: ✅
  • Erweiterung:
  • kleinere Anpassungen

# Model (json)

{
    "class": "App\\Models\\User",
    "database": "mysql",
    "table": "users",
    "policy": null,
    "attributes": [
    {
    "name": "id",
    "type": "string(36)",
    "increments": false,
    "nullable": false,
    "default": null,
    "unique": true,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "role_type",
    "type": "string(255)",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "role_id",
    "type": "string(36)",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "referrer_id",
    "type": "string(36)",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "hash",
    "type": "string(255)",
    "increments": false,
    "nullable": false,
    "default": null,
    "unique": true,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "email",
    "type": "string(255)",
    "increments": false,
    "nullable": false,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "email_verified_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "immutable_datetime"
    },
    {
    "name": "onboarded_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "immutable_datetime"
    },
    {
    "name": "onboard_state",
    "type": "boolean",
    "increments": false,
    "nullable": false,
    "default": "1",
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": null
    },
    {
    "name": "password",
    "type": "string(255)",
    "increments": false,
    "nullable": false,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": true,
    "appended": null,
    "cast": null
    },
    {
    "name": "remember_token",
    "type": "string(100)",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": true,
    "appended": null,
    "cast": null
    },
    {
    "name": "profile_completed_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "immutable_datetime"
    },
    {
    "name": "last_active_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "datetime"
    },
    {
    "name": "agb_accepted_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "immutable_datetime"
    },
    {
    "name": "created_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "datetime"
    },
    {
    "name": "updated_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "datetime"
    },
    {
    "name": "deleted_at",
    "type": "datetime",
    "increments": false,
    "nullable": true,
    "default": null,
    "unique": false,
    "fillable": true,
    "hidden": false,
    "appended": null,
    "cast": "datetime"
    },
    {
    "name": "show_onboarding_component",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "accessor"
    },
    {
    "name": "is_jobseeker",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": true,
    "cast": "accessor"
    },
    {
    "name": "is_company",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": true,
    "cast": "accessor"
    },
    {
    "name": "role_name",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": true,
    "cast": "accessor"
    },
    {
    "name": "has_verified_number",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "accessor"
    },
    {
    "name": "wants_contact_details_sms",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "accessor"
    },
    {
    "name": "is_deleted",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "attribute"
    },
    {
    "name": "profile_is_completed",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "attribute"
    },
    {
    "name": "referral_link",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "accessor"
    },
    {
    "name": "has_accepted_agb",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "attribute"
    },
    {
    "name": "email_is_verified",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "attribute"
    },
    {
    "name": "is_onboarded",
    "type": null,
    "increments": false,
    "nullable": null,
    "default": null,
    "unique": null,
    "fillable": true,
    "hidden": false,
    "appended": false,
    "cast": "attribute"
    }
    ],
    "relations": [
    { "name": "address", "type": "HasOne", "related": "App\\Models\\Address" },
    { "name": "bankinformation", "type": "HasOne", "related": "App\\Models\\Bankinformation" },
    { "name": "deletereasons", "type": "BelongsToManySoft", "related": "App\\Models\\Deletereason" },
    { "name": "events", "type": "HasMany", "related": "App\\Models\\Event" },
    { "name": "mobileverifications", "type": "HasMany", "related": "App\\Models\\Mobileverification" },
    { "name": "newslettersubscription", "type": "HasOne", "related": "App\\Models\\Newslettersubscription" },
    { "name": "usernotes", "type": "HasMany", "related": "App\\Models\\Usernote" },
    { "name": "notificationtriggers", "type": "BelongsToManySoft", "related": "App\\Models\\Notificationtrigger" },
    {
    "name": "notificationpreferences",
    "type": "BelongsToManySoft",
    "related": "App\\Models\\Notificationpreference"
    },
    { "name": "oldemailaddresses", "type": "HasMany", "related": "App\\Models\\Oldemailaddress" },
    { "name": "referralsources", "type": "BelongsToManySoft", "related": "App\\Models\\Referralsource" },
    { "name": "referrer", "type": "BelongsTo", "related": "App\\Models\\User" },
    { "name": "referrals", "type": "HasMany", "related": "App\\Models\\User" },
    {
    "name": "routestatistics",
    "type": "HasMany",
    "related": "Bilfeldt\\LaravelRouteStatistics\\Models\\RouteStatistic"
    },
    { "name": "role", "type": "MorphTo", "related": "App\\Models\\User" },
    { "name": "salarytables", "type": "HasMany", "related": "App\\Models\\Salarytable" },
    { "name": "searches", "type": "HasMany", "related": "App\\Models\\Search" },
    { "name": "searchbenefitsmappers", "type": "HasMany", "related": "App\\Models\\Searchbenefitsmapper" },
    { "name": "sharedmedia", "type": "HasMany", "related": "App\\Models\\Sharedmedia" },
    { "name": "signup", "type": "HasOne", "related": "App\\Models\\Signup" },
    { "name": "socialaccounts", "type": "BelongsToManySoft", "related": "App\\Models\\Socialaccount" },
    { "name": "tasks", "type": "MorphMany", "related": "App\\Models\\Task" },
    { "name": "userinformation", "type": "HasOne", "related": "App\\Models\\Userinformation" },
    { "name": "visits", "type": "MorphMany", "related": "Shetabit\\Visitor\\Models\\Visit" },
    { "name": "actions", "type": "MorphMany", "related": "Laravel\\Nova\\Actions\\ActionEvent" },
    { "name": "notifications", "type": "MorphMany", "related": "App\\Models\\Notification" },
    { "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" },
    { "name": "logins", "type": "MorphMany", "related": "ALajusticia\\AuthTracker\\Models\\Login" },
    { "name": "media", "type": "MorphMany", "related": "App\\Models\\Media" }
    ],
    "observers": [
    { "event": "creating", "observer": ["Closure"] },
    { "event": "created", "observer": ["Closure"] },
    { "event": "updating", "observer": ["Closure", "App\\Observers\\UserObserver@updating"] },
    { "event": "updated", "observer": ["Closure", "App\\Observers\\UserObserver@updated"] },
    { "event": "deleted", "observer": ["Closure", "App\\Observers\\UserObserver@deleted"] },
    { "event": "restored", "observer": ["Closure", "App\\Observers\\UserObserver@restored"] },
    { "event": "deleting", "observer": ["Closure", "App\\Observers\\UserObserver@deleting"] },
    { "event": "restoring", "observer": ["App\\Observers\\UserObserver@restoring"] }
    ]
}

# Beziehungen

# übergeordnetes Thema

2.6 Datenstruktur

Last Updated: 9/24/2023, 10:32:04 PM