Skip to content
This repository was archived by the owner on Apr 21, 2026. It is now read-only.

Commit 85691e2

Browse files
committed
style: apply cfformat to modified model and migration files (wd-2qc)
1 parent 845a1c8 commit 85691e2

3 files changed

Lines changed: 61 additions & 94 deletions

File tree

app/migrator/migrations/20260322160000_add_expires_at_to_user_tokens.cfc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ component extends="wheels.migrator.Migration" hint="add expires_at column to use
33
function up() {
44
transaction {
55
try {
6-
addColumn(table='user_tokens', columnType='datetime', columnName='expires_at', null=true);
6+
addColumn(table = 'user_tokens', columnType = 'datetime', columnName = 'expires_at', null = true);
77
} catch (any e) {
88
local.exception = e;
99
}
@@ -20,7 +20,7 @@ component extends="wheels.migrator.Migration" hint="add expires_at column to use
2020
function down() {
2121
transaction {
2222
try {
23-
removeColumn(table='user_tokens', columnName='expires_at');
23+
removeColumn(table = 'user_tokens', columnName = 'expires_at');
2424
} catch (any e) {
2525
local.exception = e;
2626
}

app/models/RememberToken.cfc

Lines changed: 39 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,51 @@
11
component extends="app.Models.Model" {
2-
function config() {
3-
table("remember_tokens");
42

5-
// ID Property
6-
property(
7-
name="id",
8-
column="id",
9-
dataType="integer",
10-
automaticValidations=false
11-
);
3+
function config() {
4+
table("remember_tokens");
125

13-
// Token Property
14-
property(
15-
name="token",
16-
column="token",
17-
dataType="string",
18-
label="Token",
19-
limit=255
20-
);
6+
// ID Property
7+
property(name = "id", column = "id", dataType = "integer", automaticValidations = false);
218

22-
// User Agent
23-
property(
24-
name="userAgent",
25-
column="user_agent",
26-
dataType="string",
27-
label="User Agent",
28-
limit=255
29-
);
9+
// Token Property
10+
property(name = "token", column = "token", dataType = "string", label = "Token", limit = 255);
3011

31-
// User ID Property
32-
property(
33-
name="userId",
34-
column="user_id",
35-
dataType="integer",
36-
label="User ID"
37-
);
12+
// User Agent
13+
property(name = "userAgent", column = "user_agent", dataType = "string", label = "User Agent", limit = 255);
3814

39-
// Expires At Property
40-
property(
41-
name="expiresAt",
42-
column="expires_at",
43-
dataType="datetime",
44-
label="Expires At"
45-
);
15+
// User ID Property
16+
property(name = "userId", column = "user_id", dataType = "integer", label = "User ID");
4617

47-
// Timestamps
48-
property(
49-
name="createdAt",
50-
column="createdat",
51-
dataType="timestamp",
52-
label="Created At"
53-
);
18+
// Expires At Property
19+
property(name = "expiresAt", column = "expires_at", dataType = "datetime", label = "Expires At");
5420

55-
property(
56-
name="updatedAt",
57-
column="updatedat",
58-
dataType="timestamp",
59-
label="Updated At"
60-
);
21+
// Timestamps
22+
property(name = "createdAt", column = "createdat", dataType = "timestamp", label = "Created At");
6123

62-
// Relationships
63-
belongsTo(name="User", foreignKey="userId");
64-
}
24+
property(name = "updatedAt", column = "updatedat", dataType = "timestamp", label = "Updated At");
6525

66-
// Create a new remember token
67-
public function createToken(required numeric userId) {
68-
var token = new();
69-
token.userId = arguments.userId;
70-
token.token = hash(createUUID() & arguments.userId & now(), "SHA-256");
71-
token.expiresAt = dateAdd("d", 30, now());
72-
return token.save();
73-
}
26+
// Relationships
27+
belongsTo(name = "User", foreignKey = "userId");
28+
}
7429

75-
// Find token by hashed value (caller must hash raw cookie value with SHA-256 first)
76-
public function findByToken(required string hashedToken) {
77-
return findOne(
78-
where="token = '#arguments.hashedToken#' AND expiresAt > '#dateTimeFormat(now(), "yyyy-MM-dd HH:nn:ss")#'"
79-
);
80-
}
30+
// Create a new remember token
31+
public function createToken(required numeric userId) {
32+
var token = new ();
33+
token.userId = arguments.userId;
34+
token.token = Hash(CreateUUID() & arguments.userId & Now(), "SHA-256");
35+
token.expiresAt = DateAdd("d", 30, Now());
36+
return token.save();
37+
}
8138

82-
// Delete expired tokens
83-
public function deleteExpiredTokens() {
84-
return deleteAll(where="expiresAt <= '#dateTimeFormat(now(), "yyyy-MM-dd HH:nn:ss")#'");
85-
}
86-
}
39+
// Find token by hashed value (caller must hash raw cookie value with SHA-256 first)
40+
public function findByToken(required string hashedToken) {
41+
return findOne(
42+
where = "token = '#arguments.hashedToken#' AND expiresAt > '#DateTimeFormat(Now(), "yyyy-MM-dd HH:nn:ss")#'"
43+
);
44+
}
45+
46+
// Delete expired tokens
47+
public function deleteExpiredTokens() {
48+
return deleteAll(where = "expiresAt <= '#DateTimeFormat(Now(), "yyyy-MM-dd HH:nn:ss")#'");
49+
}
50+
51+
}

app/models/UserToken.cfc

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
component extends="app.Models.Model" {
2-
function config() {
3-
table("user_tokens");
42

5-
// Tell Wheels to treat the ID as a string, not an integer -- CockroachDB is storing INT8 (BIGINT), which is a 64-bit integer that ColdFusion cannot safely represent as a number.
6-
property(name="id", column="id", dataType ="string", primarykey=true);
7-
property(name="token", column="token", dataType ="string", defaultValue = "");
8-
property(name="createdAt", column="createdat", dataType ="datetime", defaultValue = "");
9-
property(name="updatedAt", column="updatedat", dataType ="datetime", defaultValue = "");
10-
property(name="deletedAt", column="deletedat", dataType ="datetime", defaultValue = "");
11-
property(name="user_id", column="user_id", dataType ="string");
12-
property(name="expiresAt", column="expires_at", dataType ="datetime", defaultValue = "");
3+
function config() {
4+
table("user_tokens");
135

14-
belongsTo(name="User", foreignKey="user_id");
15-
}
6+
// Tell Wheels to treat the ID as a string, not an integer -- CockroachDB is storing INT8 (BIGINT), which is a 64-bit integer that ColdFusion cannot safely represent as a number.
7+
property(name = "id", column = "id", dataType = "string", primarykey = true);
8+
property(name = "token", column = "token", dataType = "string", defaultValue = "");
9+
property(name = "createdAt", column = "createdat", dataType = "datetime", defaultValue = "");
10+
property(name = "updatedAt", column = "updatedat", dataType = "datetime", defaultValue = "");
11+
property(name = "deletedAt", column = "deletedat", dataType = "datetime", defaultValue = "");
12+
property(name = "user_id", column = "user_id", dataType = "string");
13+
property(name = "expiresAt", column = "expires_at", dataType = "datetime", defaultValue = "");
1614

17-
// fetch all roles
18-
public function getAllToken(){
19-
var token = findAll();
20-
return token;
21-
}
22-
}
15+
belongsTo(name = "User", foreignKey = "user_id");
16+
}
17+
18+
// fetch all roles
19+
public function getAllToken() {
20+
var token = findAll();
21+
return token;
22+
}
23+
24+
}

0 commit comments

Comments
 (0)