diff --git a/src/lib/db/environment-store.ts b/src/lib/db/environment-store.ts index 65ce6e1d53..605760af9b 100644 --- a/src/lib/db/environment-store.ts +++ b/src/lib/db/environment-store.ts @@ -137,6 +137,13 @@ export default class EnvironmentStore implements IEnvironmentStore { .then((res) => Number(res[0].count)); } + getMaxSortOrder(): Promise { + return this.db + .from(TABLE) + .max('sort_order') + .then((res) => Number(res[0].max)); + } + async get(key: string): Promise { const row = await this.db(TABLE) .where({ name: key }) diff --git a/src/lib/types/stores/environment-store.ts b/src/lib/types/stores/environment-store.ts index fdd6862459..d56ad4a4a3 100644 --- a/src/lib/types/stores/environment-store.ts +++ b/src/lib/types/stores/environment-store.ts @@ -24,6 +24,7 @@ export interface IEnvironmentStore extends Store { enable(environments: IEnvironment[]): Promise; count(): Promise; getAllWithCounts(): Promise; + getMaxSortOrder(): Promise; getProjectEnvironments( projectId: string, query?: Object, diff --git a/src/test/fixtures/fake-environment-store.ts b/src/test/fixtures/fake-environment-store.ts index 39b21fd5ee..6035fb68be 100644 --- a/src/test/fixtures/fake-environment-store.ts +++ b/src/test/fixtures/fake-environment-store.ts @@ -135,6 +135,10 @@ export default class FakeEnvironmentStore implements IEnvironmentStore { ): Promise { return Promise.reject(new Error('Not implemented')); } + + getMaxSortOrder(): Promise { + return Promise.resolve(0); + } } module.exports = FakeEnvironmentStore;