Code Duplication    Length = 12-12 lines in 2 locations

src/Models/Permission.php 1 location

@@ 129-140 (lines=12) @@
126
     *
127
     * @return \Spatie\Permission\Contracts\Permission
128
     */
129
    public static function findOrCreate(string $name, $guardName = null): PermissionContract
130
    {
131
        $guardName = $guardName ?? Guard::getDefaultName(static::class);
132
133
        $permission = static::findByNameOrId($name, $guardName);
134
135
        if (! $permission) {
136
            return static::create(['name' => $name, 'guard_name' => $guardName]);
137
        }
138
139
        return $permission;
140
    }
141
142
    /**
143
     *  Find a permission by its name or id (and optionally guardName).

src/Models/Role.php 1 location

@@ 116-127 (lines=12) @@
113
     *
114
     * @return \Spatie\Permission\Contracts\Role
115
     */
116
    public static function findOrCreate(string $name, $guardName = null): RoleContract
117
    {
118
        $guardName = $guardName ?? Guard::getDefaultName(static::class);
119
120
        $role = static::where('name', $name)->where('guard_name', $guardName)->first();
121
122
        if (! $role) {
123
            return static::create(['name' => $name, 'guard_name' => $guardName]);
124
        }
125
126
        return $role;
127
    }
128
129
    /**
130
     * Determine if the user may perform the given permission.