Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
I
init-things
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
init-things
Commits
274a3303
Commit
274a3303
authored
Dec 01, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cond
parent
fb3c9352
Pipeline
#7299
passed with stages
in 1 minute and 26 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
5 deletions
+24
-5
things/nest-typeorm/src/crud-base/crud-base.ts
things/nest-typeorm/src/crud-base/crud-base.ts
+24
-5
No files found.
things/nest-typeorm/src/crud-base/crud-base.ts
View file @
274a3303
...
...
@@ -2,6 +2,7 @@ import { ConsoleLogger } from '@nestjs/common';
import
{
ClassConstructor
}
from
'
class-transformer
'
;
import
{
DeleteResult
,
FindConditions
,
IsNull
,
Not
,
Repository
,
...
...
@@ -149,10 +150,20 @@ export class CrudBase<
}
}
async
update
(
id
:
EntityId
<
T
>
,
entPart
:
Partial
<
T
>
)
{
async
update
(
id
:
EntityId
<
T
>
,
entPart
:
Partial
<
T
>
,
cond
:
FindConditions
<
T
>
=
{},
)
{
let
result
:
UpdateResult
;
try
{
result
=
await
this
.
repo
.
update
(
id
,
entPart
);
result
=
await
this
.
repo
.
update
(
{
id
,
...
cond
,
},
entPart
,
);
}
catch
(
e
)
{
this
.
error
(
`Failed to update entity ID
${
id
}
to
${
JSON
.
stringify
(
...
...
@@ -167,12 +178,20 @@ export class CrudBase<
return
new
BlankReturnMessageDto
(
200
,
'
success
'
);
}
async
remove
(
id
:
EntityId
<
T
>
,
hardDelete
=
false
)
{
async
remove
(
id
:
EntityId
<
T
>
,
hardDelete
=
false
,
cond
:
FindConditions
<
T
>
=
{},
)
{
let
result
:
UpdateResult
|
DeleteResult
;
const
searchCond
=
{
id
,
...
cond
,
};
try
{
result
=
await
(
hardDelete
?
this
.
repo
.
delete
(
i
d
)
:
this
.
repo
.
softDelete
(
i
d
));
?
this
.
repo
.
delete
(
searchCon
d
)
:
this
.
repo
.
softDelete
(
searchCon
d
));
}
catch
(
e
)
{
this
.
error
(
`Failed to delete entity ID
${
id
}
:
${
e
.
toString
()}
`
);
throw
new
BlankReturnMessageDto
(
500
,
'
internal error
'
).
toException
();
...
...
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