Skip to content

Commit

Permalink
feat: update differ id logic
Browse files Browse the repository at this point in the history
  • Loading branch information
bzp2010 committed Nov 10, 2024
1 parent 9e198a2 commit 8c9ec1d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 41 deletions.
55 changes: 15 additions & 40 deletions apps/cli/src/differ/differv3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,27 +78,19 @@ export class DifferV3 {
ADCSDK.ResourceType.SERVICE,
local?.services?.map((res) => [
res.name,
ADCSDK.utils.generateId(res.name),
res,
]) ?? [],
remote?.services?.map((res) => [
res.name,
ADCSDK.utils.generateId(res.name),
res.id ?? ADCSDK.utils.generateId(res.name),
res,
]) ?? [],
remote?.services?.map((res) => [res.name, res.id, res]) ?? [],
),
...differ.diffResource(
ADCSDK.ResourceType.SSL,
local?.ssls?.map((res) => [
res.snis.join(','),
ADCSDK.utils.generateId(res.snis.join(',')),
res,
]) ?? [],
remote?.ssls?.map((res) => [
res.snis.join(','),
ADCSDK.utils.generateId(res.snis.join(',')),
res.id ?? ADCSDK.utils.generateId(res.snis.join(',')),
res,
]) ?? [],
remote?.ssls?.map((res) => [res.snis.join(','), res.id, res]) ?? [],
),
...differ.diffResource(
ADCSDK.ResourceType.CONSUMER,
Expand Down Expand Up @@ -144,40 +136,29 @@ export class DifferV3 {
ADCSDK.ResourceType.ROUTE,
local?.routes?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.routes?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res.id ?? ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.routes?.map((res) => [res.name, res.id, res]) ?? [],
),
...differ.diffResource(
ADCSDK.ResourceType.STREAM_ROUTE,
local?.stream_routes?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.stream_routes?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res.id ?? ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.stream_routes?.map((res) => [res.name, res.id, res]) ?? [],
),
...differ.diffResource(
ADCSDK.ResourceType.CONSUMER_CREDENTIAL,
local?.consumer_credentials?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.consumer_credentials?.map((res) => [
res.name,
ADCSDK.utils.generateId(generateResourceName(res.name)),
res.id ?? ADCSDK.utils.generateId(generateResourceName(res.name)),
res,
]) ?? [],
remote?.consumer_credentials?.map((res) => [res.name, res.id, res]) ??
[],
),
/* ...differ.diffResource(
ADCSDK.ResourceType.UPSTREAM,
Expand Down Expand Up @@ -321,22 +302,16 @@ export class DifferV3 {

const checkedRemoteId: Array<ADCSDK.ResourceId> = [];
remote.forEach(([remoteName, remoteId, remoteItem]) => {
const remoteMetadata = cloneDeep(
(remoteItem as { metadata: ADCSDK.ResourceMetadata })?.metadata,
);
unset(remoteItem, 'metadata');
const eventResourceId = remoteMetadata?.id ?? remoteId;

// Asserts that the remote resource should exist locally, and that
// non-existence means that the user deleted that resource.
const localItem = localIdMap[eventResourceId];
const localItem = localIdMap[remoteId];

// Exists remotely but not locally: resource deleted by user
if (!localItem) {
return result.push({
resourceType,
type: ADCSDK.EventType.DELETE,
resourceId: eventResourceId,
resourceId: remoteId,
resourceName: remoteName,
oldValue: remoteItem,

Expand All @@ -359,13 +334,13 @@ export class DifferV3 {
resourceType === ADCSDK.ResourceType.SERVICE
? remoteName
: undefined,
).map(this.postprocessSubEvent(remoteName, eventResourceId)),
).map(this.postprocessSubEvent(remoteName, remoteId)),
});
}

// Record the remote IDs that have been checked. It will be used
// to identify locally added resources.
checkedRemoteId.push(eventResourceId);
checkedRemoteId.push(remoteId);

const originalLocalItem = cloneDeep(localItem);

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,5 @@
"yaml": "^2.4.2",
"zod": "^3.23.8"
},
"packageManager": "pnpm@9.5.0+sha512.140036830124618d624a2187b50d04289d5a087f326c9edfc0ccd733d76c4f52c3a313d4fc148794a2a9d81553016004e6742e8cf850670268a7387fc220c903"
"packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee"
}

0 comments on commit 8c9ec1d

Please sign in to comment.