Code Duplication    Length = 11-12 lines in 2 locations

src/Models/Permission.php 1 location

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

src/Models/Role.php 1 location

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