Code Duplication    Length = 11-12 lines in 2 locations

src/Models/Permission.php 1 location

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

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::query()->create(['name' => $name, 'guard_name' => $guardName]);
124
        }
125
126
        return $role;
127
    }
128
129
    /**
130
     * Determine if the user may perform the given permission.