Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
koishi-plugin-typeorm
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
3rdeye
koishi-plugin-typeorm
Commits
c8e6fd99
Commit
c8e6fd99
authored
Feb 10, 2022
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add disconnect hooks for closing everyting
parent
84096c51
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
1 deletion
+12
-1
src/index.ts
src/index.ts
+12
-1
No files found.
src/index.ts
View file @
c8e6fd99
...
...
@@ -10,6 +10,7 @@ import {
Caller
,
Provide
,
Inject
,
LifecycleEvents
,
}
from
'
koishi-thirdeye
'
;
import
{
Connection
,
ConnectionOptions
,
createConnection
}
from
'
typeorm
'
;
import
{
Context
,
Database
}
from
'
koishi
'
;
...
...
@@ -31,7 +32,10 @@ declare module 'koishi' {
@
Provide
(
'
typeorm
'
,
{
immediate
:
true
})
@
DefinePlugin
({
name
:
'
typeorm
'
,
schema
:
TypeORMPluginConfig
})
export
default
class
TypeORMPlugin
extends
BasePlugin
<
TypeORMPluginConfigLike
>
{
export
default
class
TypeORMPlugin
extends
BasePlugin
<
TypeORMPluginConfigLike
>
implements
LifecycleEvents
{
private
registryMap
=
new
Map
<
string
,
ConnectionEntry
>
();
private
entityMap
=
new
Map
<
TypeORMEntity
,
string
>
();
...
...
@@ -96,4 +100,11 @@ export default class TypeORMPlugin extends BasePlugin<TypeORMPluginConfigLike> {
}
return
connection
;
}
async
onDisconnect
()
{
const
tokens
=
Array
.
from
(
this
.
registryMap
.
keys
());
await
Promise
.
all
(
tokens
.
map
((
token
)
=>
this
.
close
(
token
)));
this
.
registryMap
.
clear
();
this
.
entityMap
.
clear
();
}
}
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