Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
T
tx3-message-reader
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
tx3-message-reader
Commits
1b3ed035
Commit
1b3ed035
authored
Oct 05, 2020
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update sqls
parent
84253e8e
Pipeline
#880
passed with stages
in 6 minutes and 30 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
5 deletions
+10
-5
src/smbreader.ts
src/smbreader.ts
+10
-5
No files found.
src/smbreader.ts
View file @
1b3ed035
...
...
@@ -54,6 +54,7 @@ export class SMBReader {
}
async
run
()
{
this
.
log
.
info
(
`Started.`
);
const
db
=
await
this
.
db
.
getConnection
();
try
{
this
.
log
.
info
(
`Reading file list...`
);
let
filelist
=
(
await
this
.
smb
.
readdir
(
this
.
config
.
pathPrefix
)).
filter
(
m
=>
m
.
match
(
/^chat_.*
\.
html$/
));
...
...
@@ -71,18 +72,19 @@ export class SMBReader {
for
(
let
file
of
files
)
{
const
filePath
=
this
.
getFilePath
(
file
.
name
);
try
{
const
testIndex
:
any
[]
=
await
this
.
db
.
query
(
"
select * from `filesRead` where filename = ?
"
,
[
file
.
name
]);
const
testIndex
:
any
[]
=
await
db
.
query
(
"
select * from `filesRead` where filename = ?
"
,
[
file
.
name
]);
if
(
testIndex
.
length
)
{
this
.
log
.
debug
(
`File
${
filePath
}
has already been read. Skipping.`
);
continue
;
}
await
db
.
query
(
"
begin
"
);
this
.
log
.
info
(
`Reading file
${
filePath
}
...`
);
const
fileMetadata
=
await
this
.
db
.
query
(
"
insert into `filesRead` set ?
"
,
{
const
fileMetadata
=
await
db
.
query
(
"
insert into `filesRead` set ?
"
,
{
filename
:
file
.
name
,
date
:
file
.
date
.
format
(
"
YYYY-MM-DD HH:mm:ss
"
)
});
const
insertedFileID
:
number
=
fileMetadata
.
insertId
;
const
previousFilenameArray
:
any
[]
=
await
this
.
db
.
query
(
"
select filename from `filesRead` where fileid = ?
"
,
[
insertedFileID
-
1
]);
const
previousFilenameArray
:
any
[]
=
await
db
.
query
(
"
select filename from `filesRead` where fileid = ?
"
,
[
insertedFileID
-
1
]);
let
currentMessages
=
readChatBuffer
((
await
this
.
smb
.
readFile
(
filePath
))
as
Buffer
);
if
(
previousFilenameArray
.
length
&&
files
.
find
(
f
=>
f
.
name
===
previousFilenameArray
[
0
].
filename
))
{
// compare with old file
const
previousFilePath
=
this
.
getFilePath
(
previousFilenameArray
[
0
].
filename
);
...
...
@@ -102,12 +104,12 @@ export class SMBReader {
}
for
(
let
message
of
currentMessages
)
{
this
.
log
.
debug
(
`Recording message from file
${
insertedFileID
}
${
filePath
}
:`
,
JSON
.
stringify
(
message
));
await
this
.
db
.
query
(
"
insert into `messages` set ?
"
,
{
await
db
.
query
(
"
insert into `messages` set ?
"
,
{
fileid
:
insertedFileID
,
...
message
});
}
const
deleteFilenameArray
:
any
[]
=
await
this
.
db
.
query
(
"
select filename from `filesRead` where fileid = ?
"
,
[
insertedFileID
-
2
]);
const
deleteFilenameArray
:
any
[]
=
await
db
.
query
(
"
select filename from `filesRead` where fileid = ?
"
,
[
insertedFileID
-
2
]);
if
(
deleteFilenameArray
.
length
&&
files
.
find
(
f
=>
f
.
name
===
deleteFilenameArray
[
0
].
filename
))
{
// delete file with id - 2 because useless
const
deleteFilePath
=
this
.
getFilePath
(
deleteFilenameArray
[
0
].
filename
);
try
{
...
...
@@ -117,13 +119,16 @@ export class SMBReader {
this
.
log
.
debug
(
`Failed deleting file
${
deleteFilePath
}
:`
,
e
.
toString
());
}
}
await
db
.
query
(
"
commit
"
);
}
catch
(
e
)
{
await
db
.
query
(
"
rollback
"
);
this
.
log
.
warn
(
`Errored reading file
${
filePath
}
:`
,
e
.
toString
());
}
}
}
catch
(
e
)
{
this
.
log
.
warn
(
`Read error:`
,
e
.
toString
());
}
db
.
release
();
this
.
log
.
info
(
`Finished.`
);
}
}
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