Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/kamu-data/kamu-web-ui int…
Browse files Browse the repository at this point in the history
…o KAMU-UI-122-Disabled-Run-query-button-after-error
  • Loading branch information
Dmitriy Borzenko committed Aug 23, 2023
2 parents 53cd70e + 4e2d79f commit a8d7666
Show file tree
Hide file tree
Showing 55 changed files with 247 additions and 203 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Upgraded to Angular 14.3
- Switched to different Angular wrapper for Monaco editor (ngx-monaco-editor-v2)
- Selected library updates/downgrades to align with Angular 14.3 and Node.JS 16.x
### Fixed
- GraphQL code generator tuned to produce string type by default for scalars
- Fixed bug with disabled state for "Run" button after error.

## [0.8.0] - 2023-08-04
Expand Down
3 changes: 2 additions & 1 deletion gql-codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ generates:
src/app/api/kamu.graphql.interface.ts:
plugins:
- add:
content: '// THIS FILE IS GENERATED, DO NOT EDIT!'
content: "// THIS FILE IS GENERATED, DO NOT EDIT!"
- typescript
- typescript-operations
- typescript-apollo-angular
config:
inlineFragmentTypes: combine
defaultScalarType: string
3 changes: 2 additions & 1 deletion src/app/api/dataset.api.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import {
GetMetadataBlockDocument,
GetMetadataBlockQuery,
} from "./kamu.graphql.interface";
import { MaybeNullOrUndefined } from "../common/app.types";

describe("DatasetApi", () => {
let service: DatasetApi;
Expand Down Expand Up @@ -176,7 +177,7 @@ describe("DatasetApi", () => {
datasetId: mockDatasetId,
event: mockEvent,
})
.subscribe((res: CommitEventToDatasetMutation | null | undefined) => {
.subscribe((res: MaybeNullOrUndefined<CommitEventToDatasetMutation>) => {
expect(res?.datasets.byId?.metadata.chain.commitEvent.__typename).toEqual("CommitResultSuccess");
});

Expand Down
13 changes: 7 additions & 6 deletions src/app/api/dataset.api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import {
CreateEmptyDatasetGQL,
} from "./kamu.graphql.interface";
import { MutationResult } from "apollo-angular";
import { MaybeNullOrUndefined } from "../common/app.types";

@Injectable({ providedIn: "root" })
export class DatasetApi {
Expand Down Expand Up @@ -192,7 +193,7 @@ export class DatasetApi {
public createDatasetFromSnapshot(
accountId: string,
snapshot: string,
): Observable<CreateDatasetFromSnapshotMutation | undefined | null> {
): Observable<MaybeNullOrUndefined<CreateDatasetFromSnapshotMutation>> {
return this.createDatasetFromSnapshotGQL.mutate({ accountId, snapshot }).pipe(
first(),
map((result: MutationResult<CreateDatasetFromSnapshotMutation>) => {
Expand All @@ -205,7 +206,7 @@ export class DatasetApi {
accountId: string,
datasetKind: DatasetKind,
datasetName: string,
): Observable<CreateEmptyDatasetMutation | null | undefined> {
): Observable<MaybeNullOrUndefined<CreateEmptyDatasetMutation>> {
return this.createEmptyDatasetGQL.mutate({ accountId, datasetKind, datasetName }).pipe(
first(),
map((result: MutationResult<CreateEmptyDatasetMutation>) => {
Expand All @@ -217,7 +218,7 @@ export class DatasetApi {
public commitEvent(params: {
datasetId: string;
event: string;
}): Observable<CommitEventToDatasetMutation | null | undefined> {
}): Observable<MaybeNullOrUndefined<CommitEventToDatasetMutation>> {
return this.commitEventToDatasetGQL
.mutate({
datasetId: params.datasetId,
Expand All @@ -231,7 +232,7 @@ export class DatasetApi {
);
}

public updateReadme(datasetId: string, content: string): Observable<UpdateReadmeMutation | null | undefined> {
public updateReadme(datasetId: string, content: string): Observable<MaybeNullOrUndefined<UpdateReadmeMutation>> {
return this.updateReadmeGQL
.mutate({
datasetId,
Expand All @@ -245,7 +246,7 @@ export class DatasetApi {
);
}

public deleteDataset(datasetId: string): Observable<DeleteDatasetMutation | null | undefined> {
public deleteDataset(datasetId: string): Observable<MaybeNullOrUndefined<DeleteDatasetMutation>> {
return this.deleteDatasetGQL
.mutate({
datasetId,
Expand All @@ -258,7 +259,7 @@ export class DatasetApi {
);
}

public renameDataset(datasetId: string, newName: string): Observable<RenameDatasetMutation | null | undefined> {
public renameDataset(datasetId: string, newName: string): Observable<MaybeNullOrUndefined<RenameDatasetMutation>> {
return this.renameDatasetGQL
.mutate({
datasetId,
Expand Down
103 changes: 55 additions & 48 deletions src/app/api/kamu.graphql.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,21 @@ export type Scalars = {
Boolean: boolean;
Int: number;
Float: number;
AccountID: any;
AccountName: any;
DatasetAlias: any;
DatasetID: any;
DatasetName: any;
DatasetRef: any;
DatasetRefAny: any;
AccountID: string;
AccountName: string;
DatasetAlias: string;
DatasetID: string;
DatasetName: string;
DatasetRef: string;
DatasetRefAny: string;
/**
* Implement the DateTime<Utc> scalar
*
* The input/output is a string in RFC3339 format.
*/
DateTime: any;
Multihash: any;
TaskID: any;
DateTime: string;
Multihash: string;
TaskID: string;
};

export type AccessToken = {
Expand Down Expand Up @@ -1112,7 +1112,12 @@ export type CommitEventToDatasetMutation = {
__typename?: "MetadataChainMut";
commitEvent:
| { __typename: "CommitResultAppendError"; message: string }
| { __typename: "CommitResultSuccess"; message: string; oldHead?: any | null; newHead: any }
| {
__typename: "CommitResultSuccess";
message: string;
oldHead?: string | null;
newHead: string;
}
| { __typename: "MetadataManifestMalformed"; message: string }
| { __typename: "MetadataManifestUnsupportedVersion" }
| { __typename: "NoChanges" };
Expand Down Expand Up @@ -1176,7 +1181,7 @@ export type UpdateReadmeMutation = {
__typename?: "DatasetMetadataMut";
updateReadme:
| { __typename: "CommitResultAppendError"; message: string }
| { __typename: "CommitResultSuccess"; oldHead?: any | null; message: string }
| { __typename: "CommitResultSuccess"; oldHead?: string | null; message: string }
| { __typename: "NoChanges"; message: string };
};
} | null;
Expand Down Expand Up @@ -1321,10 +1326,10 @@ export type DeleteDatasetMutation = {
| {
__typename?: "DeleteResultDanglingReference";
message: string;
danglingChildRefs: Array<any>;
notDeletedDataset: any;
danglingChildRefs: Array<string>;
notDeletedDataset: string;
}
| { __typename?: "DeleteResultSuccess"; message: string; deletedDataset: any };
| { __typename?: "DeleteResultSuccess"; message: string; deletedDataset: string };
} | null;
};
};
Expand All @@ -1341,38 +1346,38 @@ export type EnginesQuery = {

export type AddDataEventFragment = {
__typename?: "AddData";
inputCheckpoint?: any | null;
addDataWatermark?: any | null;
inputCheckpoint?: string | null;
addDataWatermark?: string | null;
outputData?: {
__typename?: "DataSlice";
logicalHash: any;
physicalHash: any;
logicalHash: string;
physicalHash: string;
size: number;
interval: { __typename?: "OffsetInterval"; start: number; end: number };
} | null;
outputCheckpoint?: { __typename?: "Checkpoint"; physicalHash: any; size: number } | null;
outputCheckpoint?: { __typename?: "Checkpoint"; physicalHash: string; size: number } | null;
};

export type ExecuteQueryEventFragment = {
__typename?: "ExecuteQuery";
inputCheckpoint?: any | null;
watermark?: any | null;
inputCheckpoint?: string | null;
watermark?: string | null;
queryOutputData?: {
__typename?: "DataSlice";
logicalHash: any;
physicalHash: any;
logicalHash: string;
physicalHash: string;
interval: { __typename?: "OffsetInterval"; start: number; end: number };
} | null;
inputSlices: Array<{
__typename?: "InputSlice";
datasetId: any;
blockInterval?: { __typename?: "BlockInterval"; start: any; end: any } | null;
datasetId: string;
blockInterval?: { __typename?: "BlockInterval"; start: string; end: string } | null;
dataInterval?: { __typename?: "OffsetInterval"; start: number; end: number } | null;
}>;
outputCheckpoint?: { __typename?: "Checkpoint"; physicalHash: any; size: number } | null;
outputCheckpoint?: { __typename?: "Checkpoint"; physicalHash: string; size: number } | null;
};

export type SeedEventFragment = { __typename?: "Seed"; datasetId: any; datasetKind: DatasetKind };
export type SeedEventFragment = { __typename?: "Seed"; datasetId: string; datasetKind: DatasetKind };

export type SetAttachmentsEventFragment = {
__typename?: "SetAttachments";
Expand Down Expand Up @@ -1487,7 +1492,7 @@ export type SetVocabEventFragment = {
offsetColumn?: string | null;
};

export type SetWatermarkEventFragment = { __typename?: "SetWatermark"; outputWatermark: any };
export type SetWatermarkEventFragment = { __typename?: "SetWatermark"; outputWatermark: string };

export type AccountDetailsFragment = {
__typename?: "AccountInfo";
Expand All @@ -1506,10 +1511,12 @@ export type DataQueryResultSuccessViewFragment = {

export type DatasetBasicsFragment = {
__typename?: "Dataset";
id: any;
id: string;
kind: DatasetKind;
name: any;
owner: { __typename?: "Organization"; id: any; name: string } | { __typename?: "User"; id: any; name: string };
name: string;
owner:
| { __typename?: "Organization"; id: string; name: string }
| { __typename?: "User"; id: string; name: string };
};

export type DatasetCurrentInfoFragment = {
Expand Down Expand Up @@ -1542,12 +1549,12 @@ export type DatasetDescriptionFragment = {
export type DatasetDetailsFragment = {
__typename?: "Dataset";
kind: DatasetKind;
createdAt: any;
lastUpdatedAt: any;
createdAt: string;
lastUpdatedAt: string;
data: { __typename?: "DatasetData"; estimatedSize: number; numRecordsTotal: number };
metadata: {
__typename?: "DatasetMetadata";
currentWatermark?: any | null;
currentWatermark?: string | null;
currentLicense?: ({ __typename?: "SetLicense" } & LicenseFragment) | null;
};
};
Expand Down Expand Up @@ -1649,7 +1656,7 @@ export type DatasetMetadataSummaryFragment = {
__typename?: "Dataset";
metadata: {
__typename: "DatasetMetadata";
currentWatermark?: any | null;
currentWatermark?: string | null;
currentInfo: { __typename?: "SetInfo" } & DatasetCurrentInfoFragment;
currentLicense?: ({ __typename?: "SetLicense" } & LicenseFragment) | null;
currentSource?: ({ __typename?: "SetPollingSource" } & SetPollingSourceEventFragment) | null;
Expand Down Expand Up @@ -1688,13 +1695,13 @@ export type DatasetReadmeFragment = {

export type DatasetSearchOverviewFragment = {
__typename?: "Dataset";
createdAt: any;
lastUpdatedAt: any;
createdAt: string;
lastUpdatedAt: string;
metadata: {
__typename?: "DatasetMetadata";
currentInfo: { __typename?: "SetInfo" } & DatasetCurrentInfoFragment;
currentLicense?: ({ __typename?: "SetLicense" } & LicenseFragment) | null;
currentDownstreamDependencies: Array<{ __typename?: "Dataset"; id: any; kind: DatasetKind }>;
currentDownstreamDependencies: Array<{ __typename?: "Dataset"; id: string; kind: DatasetKind }>;
};
} & DatasetBasicsFragment;

Expand All @@ -1710,8 +1717,8 @@ export type DatasetTransformFragment = {
__typename?: "SetTransform";
inputs: Array<{
__typename?: "TransformInput";
name: any;
datasetRef?: any | null;
name: string;
datasetRef?: string | null;
dataset: { __typename?: "Dataset" } & DatasetBasicsFragment;
}>;
transform: { __typename?: "TransformSql" } & DatasetTransformContentFragment;
Expand All @@ -1727,11 +1734,11 @@ export type LicenseFragment = {

export type MetadataBlockFragment = {
__typename?: "MetadataBlockExtended";
blockHash: any;
prevBlockHash?: any | null;
systemTime: any;
blockHash: string;
prevBlockHash?: string | null;
systemTime: string;
sequenceNumber: number;
author: { __typename: "Organization"; id: any; name: string } | { __typename: "User"; id: any; name: string };
author: { __typename: "Organization"; id: string; name: string } | { __typename: "User"; id: string; name: string };
event:
| ({ __typename: "AddData" } & AddDataEventFragment)
| ({ __typename: "ExecuteQuery" } & ExecuteQueryEventFragment)
Expand Down Expand Up @@ -1806,9 +1813,9 @@ export type RenameDatasetMutation = {
byId?: {
__typename?: "DatasetMut";
rename:
| { __typename: "RenameResultNameCollision"; message: string; collidingAlias: any }
| { __typename: "RenameResultNoChanges"; preservedName: any; message: string }
| { __typename: "RenameResultSuccess"; message: string; oldName: any; newName: any };
| { __typename: "RenameResultNameCollision"; message: string; collidingAlias: string }
| { __typename: "RenameResultNoChanges"; preservedName: string; message: string }
| { __typename: "RenameResultSuccess"; message: string; oldName: string; newName: string };
} | null;
};
};
Expand Down
4 changes: 2 additions & 2 deletions src/app/app.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,14 @@ describe("AppComponent", () => {
component.onSelectDataset(mockAutocompleteItems[0]);
expect(navigateToDatasetViewSpy).toHaveBeenCalledWith({
accountName: mockAutocompleteItems[0].dataset.owner.name,
datasetName: mockAutocompleteItems[0].dataset.name as string,
datasetName: mockAutocompleteItems[0].dataset.name ,
});
});

it("should check call onSelectDataset method and navigate to search", () => {
const navigateToSearchSpy = spyOn(navigationService, "navigateToSearch").and.returnValue();
component.onSelectDataset(mockAutocompleteItems[1]);
expect(navigateToSearchSpy).toHaveBeenCalledWith(mockAutocompleteItems[1].dataset.id as string);
expect(navigateToSearchSpy).toHaveBeenCalledWith(mockAutocompleteItems[1].dataset.id );
});

it("should check call onUserProfile", () => {
Expand Down
4 changes: 2 additions & 2 deletions src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@ export class AppComponent extends BaseComponent implements OnInit {
if (item.__typename === TypeNames.datasetType) {
this.navigationService.navigateToDatasetView({
accountName: item.dataset.owner.name,
datasetName: item.dataset.name as string,
datasetName: item.dataset.name ,
});
} else {
this.navigationService.navigateToSearch(item.dataset.id as string);
this.navigationService.navigateToSearch(item.dataset.id );
}
}
public onClickAppLogo(): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ describe("DatasetsTabComponent", () => {
component.onSelectDataset(mockDatasetListItem);
expect(navigateToDatasetViewSpy).toHaveBeenCalledWith({
accountName: mockDatasetListItem.owner.name,
datasetName: mockDatasetListItem.name as string,
datasetName: mockDatasetListItem.name ,
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class DatasetsTabComponent {
public onSelectDataset(row: DatasetSearchOverviewFragment): void {
this.navigationService.navigateToDatasetView({
accountName: (row.owner as User).name,
datasetName: row.name as string,
datasetName: row.name ,
});
}

Expand Down
4 changes: 2 additions & 2 deletions src/app/common/app.helpers.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import moment from "moment";
import { MaybeNull } from "./app.types";
import { MaybeNull, MaybeNullOrUndefined } from "./app.types";
import { DataSchema } from "../api/kamu.graphql.interface";
import { DatasetSchema } from "../interface/dataset.interface";

Expand Down Expand Up @@ -56,6 +56,6 @@ export function momentConvertDatetoLocalWithFormat(dateParams: {
return moment(ISOStringDate).format(dateParams.format);
}

export function parseCurrentSchema(data: MaybeNull<DataSchema | undefined>): MaybeNull<DatasetSchema> {
export function parseCurrentSchema(data: MaybeNullOrUndefined<DataSchema>): MaybeNull<DatasetSchema> {
return data ? (JSON.parse(data.content) as DatasetSchema) : null;
}
1 change: 1 addition & 0 deletions src/app/common/app.types.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export type MaybeNull<T> = T | null;
export type MaybeUndefined<T> = T | undefined;
export type MaybeNullOrUndefined<T> = T | null | undefined;
Loading

0 comments on commit a8d7666

Please sign in to comment.