Code Duplication    Length = 11-12 lines in 2 locations

src/Models/Permission.php 1 location

@@ 124-134 (lines=11) @@
121
     *
122
     * @return \Spatie\Permission\Contracts\Permission
123
     */
124
    public static function findOrCreate(string $name, $guardName = null): PermissionContract
125
    {
126
        $guardName = $guardName ?? Guard::getDefaultName(static::class);
127
        $permission = static::getPermissions(['name' => $name, 'guard_name' => $guardName])->first();
128
129
        if (! $permission) {
130
            return static::query()->create(['name' => $name, 'guard_name' => $guardName]);
131
        }
132
133
        return $permission;
134
    }
135
136
    /**
137
     * Get the current cached permissions.

src/Models/Role.php 1 location

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