Organization   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 76
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 7
dl 0
loc 76
ccs 0
cts 40
cp 0
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getUsers() 0 11 1
A getOrganizations() 0 11 1
A getUserTypes() 0 11 1
A getOrganizationTypes() 0 11 1
A getSettings() 0 4 1
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://flipboxfactory.com/software/organization/license
6
 * @link       https://www.flipboxfactory.com/software/organization/
7
 */
8
9
namespace flipbox\organizations\web\twig\variables;
10
11
use craft\elements\db\UserQuery;
12
use craft\elements\User;
13
use flipbox\craft\ember\helpers\QueryHelper;
14
use flipbox\organizations\elements\Organization as OrganizationElement;
15
use flipbox\organizations\models\Settings;
16
use flipbox\organizations\Organizations as OrganizationPlugin;
17
use flipbox\organizations\queries\OrganizationQuery;
18
use flipbox\organizations\queries\OrganizationTypeQuery;
19
use flipbox\organizations\queries\UserTypeQuery;
20
use flipbox\organizations\records\OrganizationType;
21
use flipbox\organizations\records\UserType;
22
use yii\di\ServiceLocator;
23
24
/**
25
 * @author Flipbox Factory <[email protected]>
26
 * @since 1.0.0
27
 */
28
class Organization extends ServiceLocator
29
{
30
    /**
31
     * @param array $config
32
     * @return UserQuery
33
     */
34
    public function getUsers(array $config = []): UserQuery
35
    {
36
        $query = User::find();
37
38
        QueryHelper::configure(
39
            $query,
40
            $config
41
        );
42
43
        return $query;
44
    }
45
46
    /**
47
     * @param array $config
48
     * @return OrganizationQuery
49
     */
50
    public function getOrganizations(array $config = []): OrganizationQuery
51
    {
52
        $query = OrganizationElement::find();
53
54
        QueryHelper::configure(
55
            $query,
56
            $config
57
        );
58
59
        return $query;
60
    }
61
62
    /**
63
     * @param array $config
64
     * @return UserTypeQuery
65
     */
66
    public function getUserTypes(array $config = []): UserTypeQuery
67
    {
68
        $query = UserType::find();
69
70
        QueryHelper::configure(
71
            $query,
72
            $config
73
        );
74
75
        return $query;
76
    }
77
78
    /**
79
     * @param array $config
80
     * @return OrganizationTypeQuery
81
     */
82
    public function getOrganizationTypes(array $config = []): OrganizationTypeQuery
83
    {
84
        $query = OrganizationType::find();
85
86
        QueryHelper::configure(
87
            $query,
88
            $config
89
        );
90
91
        return $query;
92
    }
93
94
    /**
95
     * Plugins settings which are accessed via 'craft.organizations.settings'
96
     *
97
     * @return Settings
98
     */
99
    public function getSettings()
100
    {
101
        return OrganizationPlugin::getInstance()->getSettings();
102
    }
103
}
104