blob: 72db0a0d884fc10fb10ef3b1733a203cb43ba16c [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace LdapRecord\Models\ActiveDirectory;
4
5use LdapRecord\Models\ActiveDirectory\Concerns\HasPrimaryGroup;
6
7class Computer extends Entry
8{
9 use HasPrimaryGroup;
10
11 /**
12 * The object classes of the LDAP model.
13 *
14 * @var array
15 */
16 public static $objectClasses = [
17 'top',
18 'person',
19 'organizationalperson',
20 'user',
21 'computer',
22 ];
23
24 /**
25 * The groups relationship.
26 *
27 * Retrieves groups that the current computer is apart of.
28 *
29 * @return \LdapRecord\Models\Relations\HasMany
30 */
31 public function groups()
32 {
33 return $this->hasMany(Group::class, 'member')->with($this->primaryGroup());
34 }
35
36 /**
37 * The primary group relationship.
38 *
39 * @return Relations\HasOnePrimaryGroup
40 */
41 public function primaryGroup()
42 {
43 return $this->hasOnePrimaryGroup(Group::class, 'primarygroupid');
44 }
45
46 /**
47 * The managed by relationship.
48 *
49 * @return \LdapRecord\Models\Relations\HasOne
50 */
51 public function managedBy()
52 {
53 return $this->hasOne([Contact::class, Group::class, User::class], 'managedby');
54 }
55}