Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
emT3web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mac Stephens
emT3web
Commits
93fe35a6
Commit
93fe35a6
authored
Apr 15, 2026
by
Elias Sarraf
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into dev
parents
9ca47a7c
cdb35e6e
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
402 additions
and
5 deletions
+402
-5
Api.Database.dfm
emT3XDataServer/Source/Api.Database.dfm
+1
-0
Auth.Database.dfm
emT3XDataServer/Source/Auth.Database.dfm
+92
-5
Auth.Database.pas
emT3XDataServer/Source/Auth.Database.pas
+12
-0
Auth.Service.pas
emT3XDataServer/Source/Auth.Service.pas
+1
-0
Auth.ServiceImpl.pas
emT3XDataServer/Source/Auth.ServiceImpl.pas
+1
-0
Auth.Database.dfm
emT3XDataServer/Source/__recovery/Auth.Database.dfm
+203
-0
Auth.Database.pas
emT3XDataServer/Source/__recovery/Auth.Database.pas
+83
-0
Auth.ServiceImpl.pas
emT3XDataServer/Source/__recovery/Auth.ServiceImpl.pas
+0
-0
__recovery.ini
emT3XDataServer/Source/__recovery/__recovery.ini
+9
-0
No files found.
emT3XDataServer/Source/Api.Database.dfm
View file @
93fe35a6
...
@@ -9,6 +9,7 @@ object ApiDatabase: TApiDatabase
...
@@ -9,6 +9,7 @@ object ApiDatabase: TApiDatabase
LoginPrompt = False
LoginPrompt = False
Left = 267
Left = 267
Top = 395
Top = 395
EncryptedPassword = '9AFF92FF8CFF86FF8CFFCFFFCEFF'
end
end
object MySQLUniProvider1: TMySQLUniProvider
object MySQLUniProvider1: TMySQLUniProvider
Left = 416
Left = 416
...
...
emT3XDataServer/Source/Auth.Database.dfm
View file @
93fe35a6
object AuthDatabase: TAuthDatabase
object AuthDatabase: TAuthDatabase
OnCreate = DataModuleCreate
OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
OnDestroy = DataModuleDestroy
Height = 2
49
Height = 2
02
Width =
433
Width =
578
object uqWebTasksUrl: TUniQuery
object uqWebTasksUrl: TUniQuery
Connection = ucETaskAuth
Connection = ucETaskAuth
SQL.Strings = (
SQL.Strings = (
...
@@ -30,8 +30,8 @@ object AuthDatabase: TAuthDatabase
...
@@ -30,8 +30,8 @@ object AuthDatabase: TAuthDatabase
'order by w.URL_TIME desc'
'order by w.URL_TIME desc'
'limit 1')
'limit 1')
FetchRows = 100
FetchRows = 100
Left =
162
Left =
78
Top = 4
5
Top = 4
3
ParamData = <
ParamData = <
item
item
DataType = ftUnknown
DataType = ftUnknown
...
@@ -103,7 +103,8 @@ object AuthDatabase: TAuthDatabase
...
@@ -103,7 +103,8 @@ object AuthDatabase: TAuthDatabase
ProviderName = 'MySQL'
ProviderName = 'MySQL'
Database = 'eTask'
Database = 'eTask'
Username = 'root'
Username = 'root'
Server = '192.168.102.129'
Server = '192.168.102.131'
Connected = True
LoginPrompt = False
LoginPrompt = False
Left = 69
Left = 69
Top = 133
Top = 133
...
@@ -113,4 +114,90 @@ object AuthDatabase: TAuthDatabase
...
@@ -113,4 +114,90 @@ object AuthDatabase: TAuthDatabase
Left = 194
Left = 194
Top = 132
Top = 132
end
end
object uqWebLogin: TUniQuery
Connection = ucETaskAuth
SQL.Strings = (
'select'
' u.USER_ID,'
' u.USER_NAME,'
' u.NAME,'
' u.STATUS,'
' u.EMAIL,'
' u.ACCESS_LEVEL,'
' u.TASK_RIGHTS,'
' u.PERSPECTIVE_ID,'
' u.LAST_NAME,'
' u.FIRST_NAME,'
' w.WEB_LOGIN'
'from web_tasks_url w'
'join users u on u.USER_ID = w.USER_ID'
'where w.USER_ID = :USER_ID'
' and w.TASK_ID = :TASK_ID'
' and u.PASSWORD = :PASSWORD')
Left = 192
Top = 44
ParamData = <
item
DataType = ftUnknown
Name = 'USER_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'TASK_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'PASSWORD'
Value = nil
end>
object uqWebLoginUSER_ID: TStringField
FieldName = 'USER_ID'
Required = True
Size = 7
end
object uqWebLoginUSER_NAME: TStringField
FieldName = 'USER_NAME'
Required = True
Size = 12
end
object uqWebLoginNAME: TStringField
FieldName = 'NAME'
Size = 40
end
object uqWebLoginSTATUS: TStringField
FieldName = 'STATUS'
Size = 7
end
object uqWebLoginEMAIL: TStringField
FieldName = 'EMAIL'
Size = 50
end
object uqWebLoginACCESS_LEVEL: TIntegerField
FieldName = 'ACCESS_LEVEL'
end
object uqWebLoginTASK_RIGHTS: TIntegerField
FieldName = 'TASK_RIGHTS'
end
object uqWebLoginPERSPECTIVE_ID: TStringField
FieldName = 'PERSPECTIVE_ID'
Size = 45
end
object uqWebLoginLAST_NAME: TStringField
FieldName = 'LAST_NAME'
Size = 35
end
object uqWebLoginFIRST_NAME: TStringField
FieldName = 'FIRST_NAME'
Size = 25
end
object uqWebLoginWEB_LOGIN: TStringField
FieldName = 'WEB_LOGIN'
ReadOnly = True
Required = True
FixedChar = True
Size = 1
end
end
end
end
emT3XDataServer/Source/Auth.Database.pas
View file @
93fe35a6
...
@@ -25,6 +25,18 @@ type
...
@@ -25,6 +25,18 @@ type
uqWebTasksUrlFIRST_NAME
:
TStringField
;
uqWebTasksUrlFIRST_NAME
:
TStringField
;
uqWebTasksUrlURL_TIME
:
TDateTimeField
;
uqWebTasksUrlURL_TIME
:
TDateTimeField
;
uqWebTasksUrlURL_TIME_EXP
:
TIntegerField
;
uqWebTasksUrlURL_TIME_EXP
:
TIntegerField
;
uqWebLogin
:
TUniQuery
;
uqWebLoginUSER_ID
:
TStringField
;
uqWebLoginUSER_NAME
:
TStringField
;
uqWebLoginNAME
:
TStringField
;
uqWebLoginSTATUS
:
TStringField
;
uqWebLoginEMAIL
:
TStringField
;
uqWebLoginACCESS_LEVEL
:
TIntegerField
;
uqWebLoginTASK_RIGHTS
:
TIntegerField
;
uqWebLoginPERSPECTIVE_ID
:
TStringField
;
uqWebLoginLAST_NAME
:
TStringField
;
uqWebLoginFIRST_NAME
:
TStringField
;
uqWebLoginWEB_LOGIN
:
TStringField
;
procedure
DataModuleCreate
(
Sender
:
TObject
);
procedure
DataModuleCreate
(
Sender
:
TObject
);
procedure
DataModuleDestroy
(
Sender
:
TObject
);
procedure
DataModuleDestroy
(
Sender
:
TObject
);
private
private
...
...
emT3XDataServer/Source/Auth.Service.pas
View file @
93fe35a6
...
@@ -20,6 +20,7 @@ type
...
@@ -20,6 +20,7 @@ type
[
'{9CFD59B2-A832-4F82-82BB-9A25FC93F305}'
]
[
'{9CFD59B2-A832-4F82-82BB-9A25FC93F305}'
]
function
Login
(
const
userId
,
taskId
,
urlCode
:
string
):
string
;
function
Login
(
const
userId
,
taskId
,
urlCode
:
string
):
string
;
function
VerifyVersion
(
ClientVersion
:
string
):
TJSONObject
;
function
VerifyVersion
(
ClientVersion
:
string
):
TJSONObject
;
function
WebLogin
(
const
userId
,
taskId
,
password
:
string
):
string
;
end
;
end
;
implementation
implementation
...
...
emT3XDataServer/Source/Auth.ServiceImpl.pas
View file @
93fe35a6
...
@@ -34,6 +34,7 @@ type
...
@@ -34,6 +34,7 @@ type
public
public
function
Login
(
const
userId
,
taskId
,
urlCode
:
string
):
string
;
function
Login
(
const
userId
,
taskId
,
urlCode
:
string
):
string
;
function
VerifyVersion
(
ClientVersion
:
string
):
TJSONObject
;
function
VerifyVersion
(
ClientVersion
:
string
):
TJSONObject
;
function
WebLogin
(
const
userId
,
taskId
,
password
:
string
):
string
;
end
;
end
;
implementation
implementation
...
...
emT3XDataServer/Source/__recovery/Auth.Database.dfm
0 → 100644
View file @
93fe35a6
object AuthDatabase: TAuthDatabase
OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
Height = 207
Width = 303
object uqWebTasksUrl: TUniQuery
Connection = ucETaskAuth
SQL.Strings = (
'select'
' u.USER_ID,'
' u.USER_NAME,'
' u.NAME,'
' u.STATUS,'
' u.EMAIL,'
' u.ACCESS_LEVEL,'
' u.TASK_RIGHTS,'
' u.PERSPECTIVE_ID,'
' u.LAST_NAME,'
' u.FIRST_NAME,'
' w.URL_TIME,'
' w.URL_TIME_EXP'
'from web_tasks_url w'
'join users u on u.USER_ID = w.USER_ID'
'where w.USER_ID = :USER_ID'
' and w.TASK_ID = :TASK_ID'
' and w.URL_CODE = :URL_CODE'
' and TIMESTAMPDIFF(SECOND, w.URL_TIME, NOW()) between 0 and w.U' +
'RL_TIME_EXP'
'order by w.URL_TIME desc'
'limit 1')
FetchRows = 100
Left = 78
Top = 43
ParamData = <
item
DataType = ftUnknown
Name = 'USER_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'TASK_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'URL_CODE'
Value = nil
end>
object uqWebTasksUrlUSER_ID: TStringField
FieldName = 'USER_ID'
Required = True
Size = 7
end
object uqWebTasksUrlUSER_NAME: TStringField
FieldName = 'USER_NAME'
Required = True
Size = 12
end
object uqWebTasksUrlNAME: TStringField
FieldName = 'NAME'
Size = 40
end
object uqWebTasksUrlSTATUS: TStringField
FieldName = 'STATUS'
Size = 7
end
object uqWebTasksUrlEMAIL: TStringField
FieldName = 'EMAIL'
Size = 50
end
object uqWebTasksUrlACCESS_LEVEL: TIntegerField
FieldName = 'ACCESS_LEVEL'
end
object uqWebTasksUrlTASK_RIGHTS: TIntegerField
FieldName = 'TASK_RIGHTS'
end
object uqWebTasksUrlPERSPECTIVE_ID: TStringField
FieldName = 'PERSPECTIVE_ID'
Size = 45
end
object uqWebTasksUrlLAST_NAME: TStringField
FieldName = 'LAST_NAME'
Size = 35
end
object uqWebTasksUrlFIRST_NAME: TStringField
FieldName = 'FIRST_NAME'
Size = 25
end
object uqWebTasksUrlURL_TIME: TDateTimeField
FieldName = 'URL_TIME'
ReadOnly = True
Required = True
end
object uqWebTasksUrlURL_TIME_EXP: TIntegerField
FieldName = 'URL_TIME_EXP'
ReadOnly = True
Required = True
end
end
object ucETaskAuth: TUniConnection
ProviderName = 'MySQL'
Database = 'eTask'
Username = 'root'
Server = '192.168.102.131'
Connected = True
LoginPrompt = False
Left = 69
Top = 133
EncryptedPassword = '9AFF92FF8CFF86FF8CFFCFFFCEFF'
end
object MySQLUniProvider1: TMySQLUniProvider
Left = 194
Top = 132
end
object uqWebLogin: TUniQuery
Connection = ucETaskAuth
SQL.Strings = (
'select'
' u.USER_ID,'
' u.USER_NAME,'
' u.NAME,'
' u.STATUS,'
' u.EMAIL,'
' u.ACCESS_LEVEL,'
' u.TASK_RIGHTS,'
' u.PERSPECTIVE_ID,'
' u.LAST_NAME,'
' u.FIRST_NAME,'
' w.WEB_LOGIN'
'from web_tasks_url w'
'join users u on u.USER_ID = w.USER_ID'
'where w.USER_ID = :USER_ID'
' and w.TASK_ID = :TASK_ID'
' and u.PASSWORD = :PASSWORD')
Left = 192
Top = 44
ParamData = <
item
DataType = ftUnknown
Name = 'USER_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'TASK_ID'
Value = nil
end
item
DataType = ftUnknown
Name = 'PASSWORD'
Value = nil
end>
object uqWebLoginUSER_ID: TStringField
FieldName = 'USER_ID'
Required = True
Size = 7
end
object uqWebLoginUSER_NAME: TStringField
FieldName = 'USER_NAME'
Required = True
Size = 12
end
object uqWebLoginNAME: TStringField
FieldName = 'NAME'
Size = 40
end
object uqWebLoginSTATUS: TStringField
FieldName = 'STATUS'
Size = 7
end
object uqWebLoginEMAIL: TStringField
FieldName = 'EMAIL'
Size = 50
end
object uqWebLoginACCESS_LEVEL: TIntegerField
FieldName = 'ACCESS_LEVEL'
end
object uqWebLoginTASK_RIGHTS: TIntegerField
FieldName = 'TASK_RIGHTS'
end
object uqWebLoginPERSPECTIVE_ID: TStringField
FieldName = 'PERSPECTIVE_ID'
Size = 45
end
object uqWebLoginLAST_NAME: TStringField
FieldName = 'LAST_NAME'
Size = 35
end
object uqWebLoginFIRST_NAME: TStringField
FieldName = 'FIRST_NAME'
Size = 25
end
object uqWebLoginWEB_LOGIN: TStringField
FieldName = 'WEB_LOGIN'
ReadOnly = True
Required = True
FixedChar = True
Size = 1
end
end
end
emT3XDataServer/Source/__recovery/Auth.Database.pas
0 → 100644
View file @
93fe35a6
// Auth Database to verify logins
unit
Auth
.
Database
;
interface
uses
System
.
SysUtils
,
System
.
Classes
,
IniFiles
,
Vcl
.
Forms
,
MemDS
,
Data
.
DB
,
DBAccess
,
Uni
,
UniProvider
,
PostgreSQLUniProvider
,
MySQLUniProvider
;
type
TAuthDatabase
=
class
(
TDataModule
)
uqWebTasksUrl
:
TUniQuery
;
ucETaskAuth
:
TUniConnection
;
MySQLUniProvider1
:
TMySQLUniProvider
;
uqWebTasksUrlUSER_ID
:
TStringField
;
uqWebTasksUrlUSER_NAME
:
TStringField
;
uqWebTasksUrlNAME
:
TStringField
;
uqWebTasksUrlSTATUS
:
TStringField
;
uqWebTasksUrlEMAIL
:
TStringField
;
uqWebTasksUrlACCESS_LEVEL
:
TIntegerField
;
uqWebTasksUrlTASK_RIGHTS
:
TIntegerField
;
uqWebTasksUrlPERSPECTIVE_ID
:
TStringField
;
uqWebTasksUrlLAST_NAME
:
TStringField
;
uqWebTasksUrlFIRST_NAME
:
TStringField
;
uqWebTasksUrlURL_TIME
:
TDateTimeField
;
uqWebTasksUrlURL_TIME_EXP
:
TIntegerField
;
uqWebLogin
:
TUniQuery
;
uqWebLoginUSER_ID
:
TStringField
;
uqWebLoginUSER_NAME
:
TStringField
;
uqWebLoginNAME
:
TStringField
;
uqWebLoginSTATUS
:
TStringField
;
uqWebLoginEMAIL
:
TStringField
;
uqWebLoginACCESS_LEVEL
:
TIntegerField
;
uqWebLoginTASK_RIGHTS
:
TIntegerField
;
uqWebLoginPERSPECTIVE_ID
:
TStringField
;
uqWebLoginLAST_NAME
:
TStringField
;
uqWebLoginFIRST_NAME
:
TStringField
;
uqWebLoginWEB_LOGIN
:
TStringField
;
procedure
DataModuleCreate
(
Sender
:
TObject
);
procedure
DataModuleDestroy
(
Sender
:
TObject
);
private
{ Private declarations }
public
{ Public declarations }
end
;
var
AuthDatabase
:
TAuthDatabase
;
implementation
uses
System
.
JSON
,
Common
.
Config
,
Common
.
Logging
,
uLibrary
;
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure
TAuthDatabase
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
5
,
'TAuthDatabase.DataModuleCreate'
);
LoadDatabaseSettings
(
ucETaskAuth
,
'emT3XDataServer.ini'
);
try
ucETaskAuth
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TAuthDatabase.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
procedure
TAuthDatabase
.
DataModuleDestroy
(
Sender
:
TObject
);
begin
ucETaskAuth
.
Connected
:=
false
;
end
;
end
.
emT3XDataServer/Source/__recovery/Auth.ServiceImpl.pas
0 → 100644
View file @
93fe35a6
This diff is collapsed.
Click to expand it.
emT3XDataServer/Source/__recovery/__recovery.ini
0 → 100644
View file @
93fe35a6
[Auth.ServiceImpl.pas]
SaveTime
=
4/15/2026 6:21:59 PM
FileCount
=
1
File0
=
C:
\P
rojects
\e
mT3web
\e
mT3XDataServer
\S
ource
\A
uth.ServiceImpl.pas
[Auth.Database.pas]
SaveTime
=
4/15/2026 6:21:59 PM
FileCount
=
2
File0
=
C:
\P
rojects
\e
mT3web
\e
mT3XDataServer
\S
ource
\A
uth.Database.pas
File1
=
C:
\P
rojects
\e
mT3web
\e
mT3XDataServer
\S
ource
\A
uth.Database.dfm
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment