mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-01 07:23:58 +00:00
mongo refactor WIP
This commit is contained in:
2
packages/types/engines.d.ts
vendored
2
packages/types/engines.d.ts
vendored
@@ -158,6 +158,8 @@ export interface EngineDriver extends FilterBehaviourProvider {
|
|||||||
getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
|
getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
|
||||||
getAuthTokenFromCode(connection, options): Promise<string>;
|
getAuthTokenFromCode(connection, options): Promise<string>;
|
||||||
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
||||||
|
getCollectionExportQueryScript(collection: string, condition: any, sort: any): string;
|
||||||
|
getCollectionExportQueryJson(collection: string, condition: any, sort: any): string;
|
||||||
|
|
||||||
analyserClass?: any;
|
analyserClass?: any;
|
||||||
dumperClass?: any;
|
dumperClass?: any;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
onClick: () => getCurrentEditor().exportGrid(),
|
onClick: () => getCurrentEditor().exportGrid(),
|
||||||
});
|
});
|
||||||
|
|
||||||
function buildGridMongoCondition(props) {
|
function buildConditionForGrid(props) {
|
||||||
const filters = props?.display?.config?.filters;
|
const filters = props?.display?.config?.filters;
|
||||||
const filterBehaviour =
|
const filterBehaviour =
|
||||||
props?.display?.driver?.getFilterBehaviour(null, standardFilterBehaviours) ?? mongoFilterBehaviour;
|
props?.display?.driver?.getFilterBehaviour(null, standardFilterBehaviours) ?? mongoFilterBehaviour;
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
pureName: props.pureName,
|
pureName: props.pureName,
|
||||||
limit,
|
limit,
|
||||||
skip: offset,
|
skip: offset,
|
||||||
condition: buildGridMongoCondition(props),
|
condition: buildConditionForGrid(props),
|
||||||
sort: buildMongoSort(props),
|
sort: buildMongoSort(props),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
options: {
|
options: {
|
||||||
pureName: props.pureName,
|
pureName: props.pureName,
|
||||||
countDocuments: true,
|
countDocuments: true,
|
||||||
condition: buildGridMongoCondition(props),
|
condition: buildConditionForGrid(props),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -173,14 +173,14 @@
|
|||||||
|
|
||||||
function getExportQuery() {
|
function getExportQuery() {
|
||||||
return `db.collection('${pureName}')
|
return `db.collection('${pureName}')
|
||||||
.find(${JSON.stringify(buildGridMongoCondition($$props) || {})})
|
.find(${JSON.stringify(buildConditionForGrid($$props) || {})})
|
||||||
.sort(${JSON.stringify(buildMongoSort($$props) || {})})`;
|
.sort(${JSON.stringify(buildMongoSort($$props) || {})})`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getExportQueryJson() {
|
function getExportQueryJson() {
|
||||||
return {
|
return {
|
||||||
collection: pureName,
|
collection: pureName,
|
||||||
condition: buildGridMongoCondition($$props) || {},
|
condition: buildConditionForGrid($$props) || {},
|
||||||
sort: buildMongoSort($$props) || {},
|
sort: buildMongoSort($$props) || {},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user