Skip to content

Commit ce3e247

Browse files
authored
Merge pull request #14 from LubosRemplik/table-config
Possible to configure table name
2 parents ea4f110 + 058d678 commit ce3e247

3 files changed

Lines changed: 24 additions & 2 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,14 @@ Plugin::load('Muffin/Tokenize', ['routes' => true]);
4040

4141
This will ensure that the route for `/verify/:token` style URL is configured.
4242

43-
You can also customize the token's length and lifetime through `Configure` as
43+
You can also customize the token's length, lifetime and table through `Configure` as
4444
shown below:
4545

4646
```php
4747
Configure::write('Muffin/Tokenize', [
4848
'lifetime' => '3 days', // Default value
4949
'length' => 32, // Default value
50+
'table' => 'tokenize_tokens', // Default value
5051
]);
5152
```
5253

src/Model/Table/TokensTable.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22
namespace Muffin\Tokenize\Model\Table;
33

4+
use Cake\Core\Configure;
45
use Cake\Database\Schema\TableSchema;
56
use Cake\Event\Event;
67
use Cake\ORM\Query;
@@ -12,6 +13,8 @@
1213
class TokensTable extends Table
1314
{
1415

16+
const DEFAULT_TABLE = 'tokenize_tokens';
17+
1518
/**
1619
* Initialize table
1720
*
@@ -20,7 +23,9 @@ class TokensTable extends Table
2023
*/
2124
public function initialize(array $config)
2225
{
23-
$this->setTable('tokenize_tokens');
26+
$table = Configure::read('Muffin/Tokenize.table', self::DEFAULT_TABLE);
27+
28+
$this->setTable($table);
2429
$this->setPrimaryKey('id');
2530
$this->setDisplayField('token');
2631

tests/TestCase/Model/Table/TokensTableTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22
namespace Muffin\Tokenize\Test\TestCase\Model\Table;
33

4+
use Cake\Core\Configure;
45
use Cake\Datasource\Exception\RecordNotFoundException;
56
use Cake\ORM\TableRegistry;
67
use Cake\TestSuite\TestCase;
@@ -69,4 +70,19 @@ public function testVerify()
6970
$result = $this->Tokens->verify('1736a03c6c811ef5e02a364f39521590');
7071
$this->assertTrue($result instanceof \Muffin\Tokenize\Model\Entity\Token);
7172
}
73+
74+
public function testTableConfig()
75+
{
76+
Configure::write('Muffin/Tokenize.table', 'tokens');
77+
$this->Tokens->initialize([]);
78+
79+
$result = $this->Tokens->getTable();
80+
$this->assertEquals('tokens', $result);
81+
}
82+
83+
public function testTableConfigDefault()
84+
{
85+
$result = $this->Tokens->getTable();
86+
$this->assertEquals('tokenize_tokens', $result);
87+
}
7288
}

0 commit comments

Comments
 (0)