Skip to content

Commit 05fd08c

Browse files
committed
Implemented the 'Gateway' in the 'StandardResource' + Fixed the 'moveTo(...)' which was calling the the 'rename(...)' method even when the oldName and newName were equal
1 parent 083a5c0 commit 05fd08c

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

lib/resource/std/StandardResource.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/// <reference types="node" />
22
import { IResource, ReturnCallback, SimpleCallback, Return2Callback, ResourceType, ResourcePropertyValue } from '../IResource';
33
import { Readable, Writable } from 'stream';
4-
import { FSManager } from '../../manager/FSManager';
4+
import { FSManager, FSPath } from '../../manager/FSManager';
5+
import { MethodCallArgs } from '../../server/MethodCallArgs';
56
import { LockKind } from '../lock/LockKind';
67
import { LockBag } from '../lock/LockBag';
78
import { Lock } from '../lock/Lock';
@@ -38,6 +39,7 @@ export declare abstract class StandardResource implements IResource {
3839
abstract addChild(resource: IResource, callback: SimpleCallback): any;
3940
abstract removeChild(resource: IResource, callback: SimpleCallback): any;
4041
abstract getChildren(callback: ReturnCallback<IResource[]>): any;
42+
gateway?(arg: MethodCallArgs, path: FSPath, callback: (error: Error, resource?: IResource) => void): any;
4143
protected updateLastModified(): void;
4244
protected removeFromParent(callback: SimpleCallback): void;
4345
static standardRemoveFromParent(resource: IResource, callback: SimpleCallback): void;

lib/resource/std/StandardResource.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,15 @@ var StandardResource = (function () {
128128
StandardResource.standardRemoveFromParent(resource, function (e) {
129129
if (e) {
130130
callback(e);
131+
return;
131132
}
132-
else {
133+
resource.webName(function (e, name) {
134+
if (e || name === newName) {
135+
parent.addChild(resource, function (e) {
136+
callback(e);
137+
});
138+
return;
139+
}
133140
resource.rename(newName, function (e, oldName, newName) {
134141
if (e)
135142
callback(e);
@@ -138,7 +145,7 @@ var StandardResource = (function () {
138145
callback(e);
139146
});
140147
});
141-
}
148+
});
142149
});
143150
});
144151
});

src/resource/std/StandardResource.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { IResource, ReturnCallback, SimpleCallback, Return2Callback, ResourceType, ResourcePropertyValue } from '../IResource'
22
import { Readable, Writable } from 'stream'
33
import { FSManager, FSPath } from '../../manager/FSManager'
4+
import { MethodCallArgs } from '../../server/MethodCallArgs'
45
import { LockScope } from '../lock/LockScope'
56
import { Workflow } from '../../helper/Workflow'
67
import { LockType } from '../lock/LockType'
@@ -131,6 +132,9 @@ export abstract class StandardResource implements IResource
131132
abstract addChild(resource : IResource, callback : SimpleCallback)
132133
abstract removeChild(resource : IResource, callback : SimpleCallback)
133134
abstract getChildren(callback : ReturnCallback<IResource[]>)
135+
136+
// ****************************** Gateway ****************************** //
137+
gateway?(arg : MethodCallArgs, path : FSPath, callback : (error : Error, resource ?: IResource) => void);
134138

135139
protected updateLastModified()
136140
{
@@ -193,9 +197,18 @@ export abstract class StandardResource implements IResource
193197
if(e)
194198
{
195199
callback(e);
200+
return;
196201
}
197-
else
198-
{
202+
203+
resource.webName((e, name) => {
204+
if(e || name === newName)
205+
{
206+
parent.addChild(resource, (e) => {
207+
callback(e);
208+
})
209+
return;
210+
}
211+
199212
resource.rename(newName, (e, oldName, newName) => {
200213
if(e)
201214
callback(e);
@@ -204,7 +217,7 @@ export abstract class StandardResource implements IResource
204217
callback(e);
205218
})
206219
})
207-
}
220+
})
208221
})
209222
})
210223
})

0 commit comments

Comments
 (0)