Skip to content

Commit

Permalink
refactor: use uuid as primarykey (monicahq/chandler#453)
Browse files Browse the repository at this point in the history
  • Loading branch information
asbiin committed Apr 9, 2023
1 parent 12f8675 commit b97fd8d
Show file tree
Hide file tree
Showing 390 changed files with 1,281 additions and 1,167 deletions.
2 changes: 1 addition & 1 deletion app/Domains/Contact/Dav/Jobs/CleanSyncToken.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public function execute(array $data): void
/**
* Handle tokens for a user.
*/
private function handleUserToken(int $userId, string $tokenName, string $timestamp): void
private function handleUserToken(string $userId, string $tokenName, string $timestamp): void
{
$tokens = SyncToken::where([
['user_id', $userId],
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/Dav/Jobs/UpdateVCard.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class UpdateVCard extends QueuableService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'author_id' => 'required|integer|exists:users,id',
'vault_id' => 'required|integer|exists:vaults,id',
'account_id' => 'required|uuid|exists:accounts,id',
'author_id' => 'required|uuid|exists:users,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'uri' => 'required|string',
'etag' => 'nullable|string',
'card' => [
Expand Down Expand Up @@ -86,7 +86,7 @@ private function updateCard($cardUri, $cardData): ?string

$contactId = null;
if ($cardUri) {
$contactObject = $backend->getObject($this->vault->uuid, $cardUri);
$contactObject = $backend->getObject($this->vault->id, $cardUri);

if ($contactObject) {
$contactId = $contactObject->id;
Expand Down
12 changes: 6 additions & 6 deletions app/Domains/Contact/Dav/Services/ExportVCard.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ class ExportVCard extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'author_id' => 'required|integer|exists:users,id',
'vault_id' => 'required|integer|exists:vaults,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'author_id' => 'required|uuid|exists:users,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down Expand Up @@ -76,7 +76,7 @@ private function export(Contact $contact): VCard
/** @var VCard */
$vcard = Reader::read($contact->vcard, Reader::OPTION_FORGIVING + Reader::OPTION_IGNORE_INVALID_LINES);
if (! $vcard->UID) {
$vcard->UID = $contact->uuid;
$vcard->UID = $contact->id;
}
} catch (ParseException $e) {
// Ignore error
Expand All @@ -85,7 +85,7 @@ private function export(Contact $contact): VCard
if (! isset($vcard)) {
// Basic information
$vcard = new VCard([
'UID' => $contact->uuid,
'UID' => $contact->id,
'SOURCE' => route('contact.show', [
'vault' => $contact->vault_id,
'contact' => $contact->id,
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/Dav/Services/GetEtag.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ class GetEtag extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'author_id' => 'required|integer|exists:users,id',
'vault_id' => 'required|integer|exists:vaults,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'author_id' => 'required|uuid|exists:users,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down
14 changes: 7 additions & 7 deletions app/Domains/Contact/Dav/Services/ImportVCard.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,18 @@ class ImportVCard extends BaseService implements ServiceInterface
/**
* The Account id.
*/
public int $accountId = 0;
public ?string $accountId = null;

/**
* Get the validation rules that apply to the service.
*/
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'author_id' => 'required|integer|exists:users,id',
'vault_id' => 'required|integer|exists:vaults,id',
'contact_id' => 'nullable|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'author_id' => 'required|uuid|exists:users,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'contact_id' => 'nullable|uuid|exists:contacts,id',
'entry' => [
'required',
function (string $attribute, mixed $value, Closure $fail) {
Expand Down Expand Up @@ -116,7 +116,7 @@ public function execute(array $data): array
*/
private function clear(): void
{
$this->accountId = 0;
$this->accountId = null;
}

/**
Expand Down Expand Up @@ -299,7 +299,7 @@ private function existingUuid(VCard $entry): ?Contact
return ! empty($uuid = (string) $entry->UID) && Uuid::isValid($uuid)
? Contact::where([
'vault_id' => $this->vault->id,
'uuid' => $uuid,
'id' => $uuid,
])->first()
: null;
}
Expand Down
16 changes: 7 additions & 9 deletions app/Domains/Contact/Dav/Web/Backend/CardDAV/CardDAVBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ public function getAddressBooksForUser($principalUri): array

private function getAddressBookDetails(Vault $vault): array
{
$token = $this->getCurrentSyncToken($vault->uuid);
$token = $this->getCurrentSyncToken($vault->id);

$des = [
'id' => $vault->uuid,
'id' => $vault->id,
'uri' => $vault->name,
'principaluri' => PrincipalBackend::getPrincipalUser($this->user),
'{DAV:}displayname' => __('Contacts'),
Expand Down Expand Up @@ -222,16 +222,15 @@ protected function refreshObject($obj): string
public function getObjectUuid(?string $collectionId, string $uuid): ?Contact
{
$vault = $this->user->vaults()
->where('uuid', $collectionId)
->wherePivot('permission', '<=', Vault::PERMISSION_VIEW)
->first();
->find($collectionId);

if (! $vault) {
throw new NotEnoughPermissionException();
}

return Contact::where([
'uuid' => $uuid,
'id' => $uuid,
'vault_id' => $vault->id,
])->first();
}
Expand All @@ -247,7 +246,7 @@ public function getObjects(?string $collectionId): Collection
->wherePivot('permission', '<=', Vault::PERMISSION_VIEW);

if ($collectionId !== null) {
$vaults = $vaults->where('uuid', $collectionId);
$vaults = $vaults->where('id', $collectionId);
}

return $vaults->get()
Expand All @@ -269,7 +268,7 @@ public function getDeletedObjects(?string $collectionId): Collection
->wherePivot('permission', '<=', Vault::PERMISSION_VIEW);

if ($collectionId !== null) {
$vaults = $vaults->where('uuid', $collectionId);
$vaults = $vaults->where('id', $collectionId);
}

return $vaults->get()
Expand Down Expand Up @@ -386,8 +385,7 @@ public function updateCard($addressBookId, $cardUri, $cardData): ?string
{
$vault = $this->user->vaults()
->wherePivot('permission', '<=', Vault::PERMISSION_EDIT)
->where('uuid', $addressBookId)
->firstOrFail();
->findOrFail($addressBookId);

$job = new UpdateVCard([
'account_id' => $this->user->account_id,
Expand Down
2 changes: 1 addition & 1 deletion app/Domains/Contact/Dav/Web/Backend/SyncDAVBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ private function getDeleted(string $collectionId, ?Carbon $timestamp): array

protected function encodeUri($obj): string
{
return urlencode($obj->uuid.$this->getExtension());
return urlencode($obj->id.$this->getExtension());
}

private function decodeUri(string $uri): string
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/ManageAvatar/Services/DestroyAvatar.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ class DestroyAvatar extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ class UpdatePhotoAsAvatar extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
'file_id' => 'nullable|integer|exists:files,id',
];
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

class ModuleAvatarController extends Controller
{
public function update(Request $request, int $vaultId, int $contactId)
public function update(Request $request, string $vaultId, string $contactId)
{
// first we upload the file
$data = [
Expand Down Expand Up @@ -48,7 +48,7 @@ public function update(Request $request, int $vaultId, int $contactId)
], 200);
}

public function destroy(Request $request, int $vaultId, int $contactId)
public function destroy(Request $request, string $vaultId, string $contactId)
{
$data = [
'account_id' => Auth::user()->account_id,
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/ManageCalls/Services/CreateCall.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ class CreateCall extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
'call_reason_id' => 'nullable|integer|exists:call_reasons,id',
'called_at' => 'required|date_format:Y-m-d',
'duration' => 'nullable|integer',
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/ManageCalls/Services/DestroyCall.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ class DestroyCall extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
'call_id' => 'required|integer|exists:calls,id',
];
}
Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/ManageCalls/Services/UpdateCall.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ class UpdateCall extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
'call_id' => 'required|integer|exists:calls,id',
'call_reason_id' => 'nullable|integer|exists:call_reasons,id',
'called_at' => 'required|date_format:Y-m-d',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

class ContactModuleCallController extends Controller
{
public function store(Request $request, int $vaultId, int $contactId)
public function store(Request $request, string $vaultId, string $contactId)
{
$carbonDate = Carbon::parse($request->input('called_at'));
$answered = false;
Expand Down Expand Up @@ -65,7 +65,7 @@ public function store(Request $request, int $vaultId, int $contactId)
], 201);
}

public function update(Request $request, int $vaultId, int $contactId, int $callId)
public function update(Request $request, string $vaultId, string $contactId, int $callId)
{
$carbonDate = Carbon::parse($request->input('called_at'));
$answered = false;
Expand Down Expand Up @@ -120,7 +120,7 @@ public function update(Request $request, int $vaultId, int $contactId, int $call
], 200);
}

public function destroy(Request $request, int $vaultId, int $contactId, int $callId)
public function destroy(Request $request, string $vaultId, string $contactId, int $callId)
{
$data = [
'account_id' => Auth::user()->account_id,
Expand Down
2 changes: 1 addition & 1 deletion app/Domains/Contact/ManageContact/Dav/ImportContact.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ private function importNameFromFN(array $contactData, VCard $entry): array
private function importUid(array $contactData, VCard $entry): array
{
if (! empty($uuid = (string) $entry->UID) && Uuid::isValid($uuid)) {
$contactData['uuid'] = $uuid;
$contactData['id'] = $uuid;
}

return $contactData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ class CopyContactToAnotherVault extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'other_vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'other_vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down
12 changes: 6 additions & 6 deletions app/Domains/Contact/ManageContact/Services/CreateContact.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ class CreateContact extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'uuid' => 'nullable|string',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'account_id' => 'required|uuid|exists:accounts,id',
'id' => 'nullable|string',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'first_name' => 'nullable|string|max:255',
'last_name' => 'nullable|string|max:255',
'middle_name' => 'nullable|string|max:255',
Expand Down Expand Up @@ -107,8 +107,8 @@ private function createContact(): void
'last_updated_at' => Carbon::now(),
'listed' => $this->valueOrTrue($this->data, 'listed'),
]);
if (($uuid = $this->valueOrNull($this->data, 'uuid')) !== null) {
$this->contact->uuid = $uuid;
if (($id = $this->valueOrNull($this->data, 'id')) !== null) {
$this->contact->id = $id;
}
}

Expand Down
8 changes: 4 additions & 4 deletions app/Domains/Contact/ManageContact/Services/DestroyContact.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ class DestroyContact extends QueuableService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ class MoveContactToAnotherVault extends BaseService implements ServiceInterface
public function rules(): array
{
return [
'account_id' => 'required|integer|exists:accounts,id',
'vault_id' => 'required|integer|exists:vaults,id',
'other_vault_id' => 'required|integer|exists:vaults,id',
'author_id' => 'required|integer|exists:users,id',
'contact_id' => 'required|integer|exists:contacts,id',
'account_id' => 'required|uuid|exists:accounts,id',
'vault_id' => 'required|uuid|exists:vaults,id',
'other_vault_id' => 'required|uuid|exists:vaults,id',
'author_id' => 'required|uuid|exists:users,id',
'contact_id' => 'required|uuid|exists:contacts,id',
];
}

Expand Down

0 comments on commit b97fd8d

Please sign in to comment.