fix deletion of forms if there have been visitors
This commit is contained in:
parent
af18fd83ce
commit
2c9e1d3de0
@ -22,6 +22,8 @@ Template for next version
|
||||
- update to node 20 (https://github.com/ohmyform/ohmyform/issues/228)
|
||||
- fix missing python error in api (https://github.com/ohmyform/ohmyform/issues/199)
|
||||
- [API] fix change user role (https://github.com/ohmyform/api/pull/49)
|
||||
- [API] update sqlite to 5.1.6
|
||||
- [API] delete visitors on form delete (https://github.com/ohmyform/ohmyform/issues/181)
|
||||
|
||||
## [1.0.3] - 2022-03-27
|
||||
|
||||
|
@ -73,7 +73,7 @@
|
||||
"rimraf": "^3.0.2",
|
||||
"rxjs": "^7.5.4",
|
||||
"serialize-error": "^8.1.0",
|
||||
"sqlite3": "^5.0.2",
|
||||
"sqlite3": "^5.1.6",
|
||||
"typeorm": "^0.2.44"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -31,10 +31,10 @@ export class FormEntity {
|
||||
@Column(() => AnalyticsEmbedded)
|
||||
public analytics: AnalyticsEmbedded = new AnalyticsEmbedded()
|
||||
|
||||
@OneToMany(() => VisitorEntity, visitor => visitor.form)
|
||||
@OneToMany(() => VisitorEntity, visitor => visitor.form, { cascade: true })
|
||||
public visitors: VisitorEntity[]
|
||||
|
||||
@OneToMany(() => SubmissionEntity, submission => submission.form)
|
||||
@OneToMany(() => SubmissionEntity, submission => submission.form, { cascade: true })
|
||||
public submissions: SubmissionEntity[]
|
||||
|
||||
@OneToMany(() => FormFieldEntity, field => field.form, { eager: true, orphanedRowAction: 'delete', cascade: true })
|
||||
|
@ -3,6 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'
|
||||
import { Repository } from 'typeorm'
|
||||
import { FormEntity } from '../../entity/form.entity'
|
||||
import { SubmissionEntity } from '../../entity/submission.entity'
|
||||
import { VisitorEntity } from '../../entity/visitor.entity'
|
||||
|
||||
@Injectable()
|
||||
export class FormDeleteService {
|
||||
@ -11,12 +12,21 @@ export class FormDeleteService {
|
||||
private readonly formRepository: Repository<FormEntity>,
|
||||
@InjectRepository(SubmissionEntity)
|
||||
private readonly submissionRepository: Repository<SubmissionEntity>,
|
||||
@InjectRepository(VisitorEntity)
|
||||
private readonly visitorRepository: Repository<VisitorEntity>,
|
||||
) {
|
||||
}
|
||||
|
||||
async delete(id: number): Promise<void> {
|
||||
await this.submissionRepository.delete({
|
||||
form: new FormEntity({ id }),
|
||||
form: {
|
||||
id,
|
||||
},
|
||||
})
|
||||
await this.visitorRepository.delete({
|
||||
form: {
|
||||
id,
|
||||
},
|
||||
})
|
||||
|
||||
await this.formRepository.delete({
|
||||
|
717
api/yarn.lock
717
api/yarn.lock
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user