Code Duplication    Length = 11-12 lines in 3 locations

app/lib/FFCMS/Controllers/API/Token.php 3 locations

@@ 112-123 (lines=12) @@
109
                $appsMapper->client_id, $appsMapper->users_uuid]);
110
111
        // make a new refresh token if one doesn't exist
112
        if (null == $rTokensMapper->token) {
113
             // if not, create one
114
            $data = $tokensMapper->cast();
115
            unset($data['id']);
116
            unset($data['uuid']);
117
            unset($data['token']);
118
            $rTokensMapper->copyfrom($data);
119
            $rTokensMapper->setUUID('token');
120
            $rTokensMapper->type = 'refresh_token';
121
            $rTokensMapper->expires = null;
122
            $rTokensMapper->save();
123
        }
124
125
        // all good - return the token!
126
        $this->params['headers']['Service'] = 'OAuth2 Client Access Token';
@@ 192-202 (lines=11) @@
189
        $rTokensMapper->load(['client_id = ? AND users_uuid = ? AND '.$rTokensMapper->quotekey('type').' = "refresh_token"',
190
                $appsMapper->client_id, $appsMapper->users_uuid]);
191
        // if not, create one
192
        if (null == $rTokensMapper->token) {
193
            $data = $tokensMapper->cast();
194
            unset($data['id']);
195
            unset($data['uuid']);
196
            unset($data['token']);
197
            $rTokensMapper->copyfrom($data);
198
            $rTokensMapper->setUUID('token');
199
            $rTokensMapper->type = 'refresh_token';
200
            $rTokensMapper->expires = Helpers\Time::database(time() + 3600);
201
            $rTokensMapper->save();
202
        }
203
204
        // all good - return the access token only
205
        $this->params['headers']['Service'] = 'OAuth2 Client Credentials Access Token';
@@ 306-316 (lines=11) @@
303
                $appsMapper->client_id, $usersMapper->uuid]);
304
305
        // create one otherwise
306
        if (null == $rTokensMapper->token) {
307
            $data = $tokensMapper->cast();
308
            unset($data['id']);
309
            unset($data['uuid']);
310
            unset($data['token']);
311
            $rTokensMapper->copyfrom($data);
312
            $rTokensMapper->setUUID('token');
313
            $rTokensMapper->type = 'refresh_token';
314
            $rTokensMapper->expires = null;
315
            $rTokensMapper->save();
316
        }
317
318
        // all good - return the access token only because client_secret absent
319
        $this->params['headers']['Service'] = 'OAuth2 Password Access Token';