summaryrefslogtreecommitdiff
path: root/internal/data
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-07-17 18:45:43 +0300
committerKyren223 <Kyren223@proton.me>2025-07-19 18:32:12 +0300
commitf793203e043aaa2db38823c84500e82756348ac0 (patch)
tree88a8a7b78069427f11acb0f2040e9f1d391fab55 /internal/data
parentaaea258a21226a893025a65222e244c6b3f4454c (diff)
Added session duration metrics with device analytics along with device
analytics metrics in the DB to aggregate and DeviceID abuse prevention
Diffstat (limited to 'internal/data')
-rw-r--r--internal/data/db.go2
-rw-r--r--internal/data/device_analytics.sql.go50
-rw-r--r--internal/data/frequencies.sql.go2
-rw-r--r--internal/data/members.sql.go2
-rw-r--r--internal/data/messages.sql.go2
-rw-r--r--internal/data/models.go10
-rw-r--r--internal/data/networks.sql.go2
-rw-r--r--internal/data/notifications.sql.go2
-rw-r--r--internal/data/trusted_and_blocked_users.sql.go2
-rw-r--r--internal/data/users.sql.go2
10 files changed, 67 insertions, 9 deletions
diff --git a/internal/data/db.go b/internal/data/db.go
index 15d00a9..3bd4996 100644
--- a/internal/data/db.go
+++ b/internal/data/db.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
package data
diff --git a/internal/data/device_analytics.sql.go b/internal/data/device_analytics.sql.go
new file mode 100644
index 0000000..62ac93a
--- /dev/null
+++ b/internal/data/device_analytics.sql.go
@@ -0,0 +1,50 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+// sqlc v1.29.0
+// source: device_analytics.sql
+
+package data
+
+import (
+ "context"
+)
+
+const setDeviceAnalytics = `-- name: SetDeviceAnalytics :one
+INSERT INTO device_analytics (
+ device_id, os, arch, term, colorterm
+) VALUES (
+ ?1, ?2, ?3, ?4, ?5
+)
+ON CONFLICT DO
+UPDATE SET
+ os = EXCLUDED.os, arch = EXCLUDED.arch, term = EXCLUDED.term, colorterm = EXCLUDED.colorterm
+WHERE device_id = EXCLUDED.device_id
+RETURNING device_id, os, arch, term, colorterm
+`
+
+type SetDeviceAnalyticsParams struct {
+ DeviceID string
+ Os *string
+ Arch *string
+ Term *string
+ Colorterm *string
+}
+
+func (q *Queries) SetDeviceAnalytics(ctx context.Context, arg SetDeviceAnalyticsParams) (DeviceAnalytic, error) {
+ row := q.db.QueryRowContext(ctx, setDeviceAnalytics,
+ arg.DeviceID,
+ arg.Os,
+ arg.Arch,
+ arg.Term,
+ arg.Colorterm,
+ )
+ var i DeviceAnalytic
+ err := row.Scan(
+ &i.DeviceID,
+ &i.Os,
+ &i.Arch,
+ &i.Term,
+ &i.Colorterm,
+ )
+ return i, err
+}
diff --git a/internal/data/frequencies.sql.go b/internal/data/frequencies.sql.go
index 4971238..026daa0 100644
--- a/internal/data/frequencies.sql.go
+++ b/internal/data/frequencies.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: frequencies.sql
package data
diff --git a/internal/data/members.sql.go b/internal/data/members.sql.go
index 38dfd3b..018d6a5 100644
--- a/internal/data/members.sql.go
+++ b/internal/data/members.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: members.sql
package data
diff --git a/internal/data/messages.sql.go b/internal/data/messages.sql.go
index ed94b95..87d8c3a 100644
--- a/internal/data/messages.sql.go
+++ b/internal/data/messages.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: messages.sql
package data
diff --git a/internal/data/models.go b/internal/data/models.go
index 02949d0..f052fcd 100644
--- a/internal/data/models.go
+++ b/internal/data/models.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
package data
@@ -14,6 +14,14 @@ type BlockedUser struct {
BlockedUserID snowflake.ID
}
+type DeviceAnalytic struct {
+ DeviceID string
+ Os *string
+ Arch *string
+ Term *string
+ Colorterm *string
+}
+
type Frequency struct {
ID snowflake.ID
NetworkID snowflake.ID
diff --git a/internal/data/networks.sql.go b/internal/data/networks.sql.go
index 0439caf..5737de8 100644
--- a/internal/data/networks.sql.go
+++ b/internal/data/networks.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: networks.sql
package data
diff --git a/internal/data/notifications.sql.go b/internal/data/notifications.sql.go
index 393d90a..8ec2718 100644
--- a/internal/data/notifications.sql.go
+++ b/internal/data/notifications.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: notifications.sql
package data
diff --git a/internal/data/trusted_and_blocked_users.sql.go b/internal/data/trusted_and_blocked_users.sql.go
index 0d91ba5..8e82019 100644
--- a/internal/data/trusted_and_blocked_users.sql.go
+++ b/internal/data/trusted_and_blocked_users.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: trusted_and_blocked_users.sql
package data
diff --git a/internal/data/users.sql.go b/internal/data/users.sql.go
index dad7aea..1ba8f9d 100644
--- a/internal/data/users.sql.go
+++ b/internal/data/users.sql.go
@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
-// sqlc v1.28.0
+// sqlc v1.29.0
// source: users.sql
package data