public updateNote()

in data-storage/src/dataStorage/notesServices.ts [83:118]


    public updateNote(originalNote: Notes_Contracts.Note, editedNote: Notes_Contracts.Note, successCallback: any) {
        editedNote.__etag = originalNote.__etag;
        editedNote.id = originalNote.id;
        VSS.getService(VSS.ServiceIds.ExtensionData).then((extensionDataService: Extension_Data.ExtensionDataService) => {
            if (originalNote.userOnly !== editedNote.userOnly) {
                const oldScopeType = originalNote.userOnly ? "User" : "Default";
                extensionDataService.deleteDocument("Notes", originalNote.id, {scopeType: oldScopeType}).then(() => {
                    const newScopeType = editedNote.userOnly ? "User" : "Default";
                    
                    extensionDataService.createDocument("Notes", editedNote, {scopeType: newScopeType}).then((savedNote: Notes_Contracts.Note) => {
                        this._replaceNote(editedNote, savedNote);
                        if ($.isFunction(successCallback)) {
                            successCallback();
                        }
                    }, (reason: any) => {
                        if ($.isFunction(this._failureCallback)) {
                            this._failureCallback(reason);
                        }
                    });
                });
            }
            else {
                var scopeType = editedNote.userOnly ? "User" : "Default";
                extensionDataService.updateDocument("Notes", editedNote, {scopeType: scopeType}).then((savedNote: Notes_Contracts.Note) => {
                    this._replaceNote(editedNote, savedNote);
                    if ($.isFunction(successCallback)) {
                        successCallback();
                    }
                }, (reason: any) => {
                    if ($.isFunction(this._failureCallback)) {
                        this._failureCallback(reason);
                    }
                });
            }
        });
    }