change lock service
This commit is contained in:
parent
28fad3ccc4
commit
2a00fe7ec1
|
@ -51,13 +51,13 @@ export class LockService {
|
||||||
}
|
}
|
||||||
|
|
||||||
//ToDo change Parameters
|
//ToDo change Parameters
|
||||||
checkLockStatus(id: string): Observable<boolean> {
|
checkLockStatus(targetId: Guid): Observable<boolean> {
|
||||||
return this.http.get(`${this.apiBase}/target/status/${id}`, { headers: this.headers });
|
return this.http.get(`${this.apiBase}/target/status/${targetId}`, { headers: this.headers });
|
||||||
}
|
}
|
||||||
|
|
||||||
//ToDo change Parameters
|
//ToDo change Parameters
|
||||||
unlockTarget(id: string): Observable<any> {
|
unlockTarget(targetId: Guid): Observable<any> {
|
||||||
return this.http.delete(`${this.apiBase}/target/unlock/${id}`, { headers: this.headers });
|
return this.http.delete(`${this.apiBase}/target/unlock/${targetId}`, { headers: this.headers });
|
||||||
}
|
}
|
||||||
|
|
||||||
getSingleWithTarget(targetId: Guid, reqFields: string[] = []): Observable<Lock> {
|
getSingleWithTarget(targetId: Guid, reqFields: string[] = []): Observable<Lock> {
|
||||||
|
|
|
@ -197,7 +197,7 @@ export class DatasetWizardComponent extends CheckDeactivateBaseComponent impleme
|
||||||
this.datasetWizardService.getSingle(this.itemId)
|
this.datasetWizardService.getSingle(this.itemId)
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(data => {
|
.subscribe(data => {
|
||||||
this.lockService.checkLockStatus(data.id).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
this.lockService.checkLockStatus(Guid.parse(data.id)).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus;
|
this.lockStatus = lockStatus;
|
||||||
this.datasetWizardModel = new DatasetWizardEditorModel().fromModel(data);
|
this.datasetWizardModel = new DatasetWizardEditorModel().fromModel(data);
|
||||||
this.dmpSectionIndex = this.datasetWizardModel.dmpSectionIndex;
|
this.dmpSectionIndex = this.datasetWizardModel.dmpSectionIndex;
|
||||||
|
@ -343,7 +343,7 @@ export class DatasetWizardComponent extends CheckDeactivateBaseComponent impleme
|
||||||
this.datasetWizardService.getSingle(this.itemId)
|
this.datasetWizardService.getSingle(this.itemId)
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(data => {
|
.subscribe(data => {
|
||||||
this.lockService.checkLockStatus(data.id).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
this.lockService.checkLockStatus(Guid.parse(data.id)).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus;
|
this.lockStatus = lockStatus;
|
||||||
this.datasetWizardModel = new DatasetWizardEditorModel().fromModel(data);
|
this.datasetWizardModel = new DatasetWizardEditorModel().fromModel(data);
|
||||||
this.dmpSectionIndex = this.datasetWizardModel.dmpSectionIndex;
|
this.dmpSectionIndex = this.datasetWizardModel.dmpSectionIndex;
|
||||||
|
@ -610,7 +610,7 @@ export class DatasetWizardComponent extends CheckDeactivateBaseComponent impleme
|
||||||
|
|
||||||
public cancel(): void {
|
public cancel(): void {
|
||||||
if (!isNullOrUndefined(this.lock)) {
|
if (!isNullOrUndefined(this.lock)) {
|
||||||
this.lockService.unlockTarget(this.datasetWizardModel.id).pipe(takeUntil(this._destroyed)).subscribe(
|
this.lockService.unlockTarget(Guid.parse(this.datasetWizardModel.id)).pipe(takeUntil(this._destroyed)).subscribe(
|
||||||
complete => {
|
complete => {
|
||||||
this.publicMode ? this.router.navigate(['/explore-descriptions']) : this.router.navigate(['/datasets']);
|
this.publicMode ? this.router.navigate(['/explore-descriptions']) : this.router.navigate(['/datasets']);
|
||||||
},
|
},
|
||||||
|
|
|
@ -21,6 +21,7 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
import { DatasetStatus } from '../../../../core/common/enum/dataset-status';
|
import { DatasetStatus } from '../../../../core/common/enum/dataset-status';
|
||||||
import { DatasetListingModel } from '../../../../core/model/dataset/dataset-listing';
|
import { DatasetListingModel } from '../../../../core/model/dataset/dataset-listing';
|
||||||
import { DatasetCopyDialogueComponent } from '../../dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
import { DatasetCopyDialogueComponent } from '../../dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
||||||
|
import { Guid } from '@common/types/guid';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dataset-listing-item-component',
|
selector: 'app-dataset-listing-item-component',
|
||||||
|
@ -168,7 +169,7 @@ export class DatasetListingItemComponent extends BaseComponent implements OnInit
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteClicked(id: string) {
|
deleteClicked(id: string) {
|
||||||
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(Guid.parse(id)).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => {
|
.subscribe(lockStatus => {
|
||||||
if (!lockStatus) {
|
if (!lockStatus) {
|
||||||
this.openDeleteDialog(id);
|
this.openDeleteDialog(id);
|
||||||
|
|
|
@ -32,6 +32,7 @@ import { TranslateService } from '@ngx-translate/core';
|
||||||
import * as FileSaver from 'file-saver';
|
import * as FileSaver from 'file-saver';
|
||||||
import { filter, takeUntil } from 'rxjs/operators';
|
import { filter, takeUntil } from 'rxjs/operators';
|
||||||
import { DatasetCopyDialogueComponent } from '../dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
import { DatasetCopyDialogueComponent } from '../dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
||||||
|
import { Guid } from '@common/types/guid';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -137,7 +138,7 @@ export class DatasetOverviewComponent extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkLockStatus(id: string) {
|
checkLockStatus(id: string) {
|
||||||
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(Guid.parse(id)).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => {
|
.subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus
|
this.lockStatus = lockStatus
|
||||||
if (lockStatus) {
|
if (lockStatus) {
|
||||||
|
|
|
@ -181,7 +181,7 @@ export class DescriptionListingItemComponent extends BaseComponent implements On
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteClicked(id: Guid) {
|
deleteClicked(id: Guid) {
|
||||||
this.lockService.checkLockStatus(id.toString()).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(id).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => {
|
.subscribe(lockStatus => {
|
||||||
if (!lockStatus) {
|
if (!lockStatus) {
|
||||||
this.openDeleteDialog(id);
|
this.openDeleteDialog(id);
|
||||||
|
|
|
@ -16,7 +16,7 @@ import { DmpDatasetProfile } from '@app/core/model/dmp/dmp-dataset-profile/dmp-d
|
||||||
import { DmpDatasetProfileSectionsFormModel } from '@app/core/model/dmp/dmp-dataset-profile/dmp-dataset-profile-sections-form.model';
|
import { DmpDatasetProfileSectionsFormModel } from '@app/core/model/dmp/dmp-dataset-profile/dmp-dataset-profile-sections-form.model';
|
||||||
import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
|
import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
|
||||||
import { LanguageInfo } from '@app/core/model/language-info';
|
import { LanguageInfo } from '@app/core/model/language-info';
|
||||||
import { LockModel } from '@app/core/model/lock/lock.model';
|
import { Lock, LockPersist } from '@app/core/model/lock/lock.model';
|
||||||
import { UserModel } from '@app/core/model/user/user';
|
import { UserModel } from '@app/core/model/user/user';
|
||||||
import { UserInfoListingModel } from '@app/core/model/user/user-info-listing';
|
import { UserInfoListingModel } from '@app/core/model/user/user-info-listing';
|
||||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||||
|
@ -58,6 +58,7 @@ import { ProjectFormModel } from '../editor/grant-tab/project-form-model';
|
||||||
import { ReferenceSearchDefinitionLookup, ReferenceSearchLookup } from '@app/core/query/reference-search.lookup';
|
import { ReferenceSearchDefinitionLookup, ReferenceSearchLookup } from '@app/core/query/reference-search.lookup';
|
||||||
import { Reference } from '@app/core/model/reference/reference';
|
import { Reference } from '@app/core/model/reference/reference';
|
||||||
import { ReferenceTypeEditorResolver } from '@app/ui/admin/reference-type/editor/reference-type-editor.resolver';
|
import { ReferenceTypeEditorResolver } from '@app/ui/admin/reference-type/editor/reference-type-editor.resolver';
|
||||||
|
import { LockTargetType } from '@app/core/common/enum/lock-target-type';
|
||||||
|
|
||||||
interface Visible {
|
interface Visible {
|
||||||
value: boolean;
|
value: boolean;
|
||||||
|
@ -99,7 +100,8 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
associatedUsers: Array<UserModel>;
|
associatedUsers: Array<UserModel>;
|
||||||
people: Array<UserInfoListingModel>;
|
people: Array<UserInfoListingModel>;
|
||||||
|
|
||||||
lock: LockModel;
|
lock: Lock;
|
||||||
|
lockPersist: LockPersist;
|
||||||
lockStatus: Boolean = false;
|
lockStatus: Boolean = false;
|
||||||
|
|
||||||
step: number = 0;
|
step: number = 0;
|
||||||
|
@ -181,7 +183,7 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
this.dmpService.getSingle(itemId).pipe(map(data => data as DmpModel))
|
this.dmpService.getSingle(itemId).pipe(map(data => data as DmpModel))
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(async data => {
|
.subscribe(async data => {
|
||||||
this.lockService.checkLockStatus(data.id).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
this.lockService.checkLockStatus(Guid.parse(data.id)).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus;
|
this.lockStatus = lockStatus;
|
||||||
|
|
||||||
this.dmp = new DmpEditorModel();
|
this.dmp = new DmpEditorModel();
|
||||||
|
@ -228,10 +230,14 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
|
|
||||||
if (this.authService.currentAccountIsAuthenticated()) {
|
if (this.authService.currentAccountIsAuthenticated()) {
|
||||||
if (!lockStatus) {
|
if (!lockStatus) {
|
||||||
this.lock = new LockModel(data.id, this.getUserFromDMP());
|
const persist : LockPersist = null;
|
||||||
|
persist.target = Guid.parse(data.id);
|
||||||
|
persist.targetType = LockTargetType.Dmp;
|
||||||
|
persist.lockedBy = this.getUserFromDMP();
|
||||||
|
// this.lock = new LockModel(data.id, this.getUserFromDMP());
|
||||||
|
|
||||||
this.lockService.createOrUpdate(this.lock).pipe(takeUntil(this._destroyed)).subscribe(async result => {
|
this.lockService.persist(persist).pipe(takeUntil(this._destroyed)).subscribe(async result => {
|
||||||
this.lock.id = Guid.parse(result);
|
this.lock = result;
|
||||||
interval(this.configurationService.lockInterval).pipe(takeUntil(this._destroyed)).subscribe(() => this.pumpLock());
|
interval(this.configurationService.lockInterval).pipe(takeUntil(this._destroyed)).subscribe(() => this.pumpLock());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -351,7 +357,7 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
|
|
||||||
private pumpLock() {
|
private pumpLock() {
|
||||||
this.lock.touchedAt = new Date();
|
this.lock.touchedAt = new Date();
|
||||||
this.lockService.createOrUpdate(this.lock).pipe(takeUntil(this._destroyed)).subscribe(async result => this.lock.id = Guid.parse(result));
|
//his.lockService.createOrUpdate(this.lock).pipe(takeUntil(this._destroyed)).subscribe(async result => this.lock.id = Guid.parse(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
public isDirty(): boolean {
|
public isDirty(): boolean {
|
||||||
|
|
|
@ -159,7 +159,7 @@ export class DmpEditorComponent extends CheckDeactivateBaseComponent implements
|
||||||
this.dmpService.getSingle(itemId).pipe(map(data => data as DmpModel))
|
this.dmpService.getSingle(itemId).pipe(map(data => data as DmpModel))
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(async data => {
|
.subscribe(async data => {
|
||||||
this.lockService.checkLockStatus(data.id).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
this.lockService.checkLockStatus(Guid.parse(data.id)).pipe(takeUntil(this._destroyed)).subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus;
|
this.lockStatus = lockStatus;
|
||||||
this.dmpModel = data;
|
this.dmpModel = data;
|
||||||
|
|
||||||
|
@ -591,7 +591,7 @@ export class DmpEditorComponent extends CheckDeactivateBaseComponent implements
|
||||||
|
|
||||||
public cancel(id: String): void {
|
public cancel(id: String): void {
|
||||||
if (id != null) {
|
if (id != null) {
|
||||||
this.lockService.unlockTarget(this.dmp.id).pipe(takeUntil(this._destroyed)).subscribe(
|
this.lockService.unlockTarget(Guid.parse(this.dmp.id)).pipe(takeUntil(this._destroyed)).subscribe(
|
||||||
complete => {
|
complete => {
|
||||||
this.router.navigate(['/plans/overview/' + id]);
|
this.router.navigate(['/plans/overview/' + id]);
|
||||||
},
|
},
|
||||||
|
|
|
@ -237,7 +237,7 @@ export class DmpListingItemComponent extends BaseComponent implements OnInit {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
deleteClicked(id: Guid) {
|
deleteClicked(id: Guid) {
|
||||||
this.lockService.checkLockStatus(id.toString()).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(Guid.parse(id.toString())).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => {
|
.subscribe(lockStatus => {
|
||||||
if (!lockStatus) {
|
if (!lockStatus) {
|
||||||
this.openDeleteDialog(id);
|
this.openDeleteDialog(id);
|
||||||
|
|
|
@ -695,7 +695,7 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkLockStatus(id: Guid) {
|
checkLockStatus(id: Guid) {
|
||||||
this.lockService.checkLockStatus(id.toString()).pipe(takeUntil(this._destroyed))
|
this.lockService.checkLockStatus(Guid.parse(id.toString())).pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(lockStatus => {
|
.subscribe(lockStatus => {
|
||||||
this.lockStatus = lockStatus
|
this.lockStatus = lockStatus
|
||||||
if (lockStatus) {
|
if (lockStatus) {
|
||||||
|
|
Loading…
Reference in New Issue