---
tags: [companyuser, repository]
module: CompanyUser
---

# Repositories

## Connections
[[_CompanyUser]] · [[[Model]User]] · [[[Model]RoleAndPermission]] · [[[Service]UserServices]] · [[[Service]RoleServices]]

## Source
`Modules/CompanyUser/Repositories/`

> All extend `App\Repositories\BaseRepository`

## CompanyUsersRepository
**Wraps**: [[[Model]User]]

| Method | Description |
|---|---|
| `create(array $data)` | Create new user |
| `update($id, array $data, $forceUpdate)` | Update user |
| `delete($id)` | Soft delete |
| `getAllUsersExceptOwnerOrMaster()` | Used by index — excludes owner/master accounts |
| `getAllUsers()` | All users including owner |
| `getUserDataAndConfiguration($id)` | User with eager-loaded UserConfiguration |
| `createOrUpdateConfigurationForUser($user, $config)` | Upsert UserConfiguration key-value |
| `addOwnerUserToCompany(array $data)` | Creates the owner [[[Model]User]] during tenant onboarding |

## RolesRepository
**Wraps**: [[[Model]RoleAndPermission]] Role

| Method | Description |
|---|---|
| Standard CRUD | `create`, `update`, `delete`, `get`, `all`, `first` |
