Skip to content

Commit

Permalink
Merge pull request #2342 from hashgraph/feature/auto-fill-suggestions…
Browse files Browse the repository at this point in the history
…-config

auto fill suggestions config
  • Loading branch information
Artem Buslaev authored Jun 28, 2023
2 parents ba94808 + 58b2aff commit a379a24
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 4 deletions.
2 changes: 1 addition & 1 deletion common/src/database-modules/database-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2500,7 +2500,7 @@ export class DatabaseServer {
* @returns config
*/
public static async setSuggestionsConfig(
config: SuggestionsConfig
config: Partial<SuggestionsConfig>
): Promise<SuggestionsConfig> {
const existingConfig = await DatabaseServer.getSuggestionsConfig(
config.user
Expand Down
2 changes: 1 addition & 1 deletion guardian-service/src/api/suggestions.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ export async function suggestionsAPI(): Promise<void> {
const config = await DatabaseServer.setSuggestionsConfig({
user: user.did,
items,
} as any);
});
return new MessageResponse(config.items);
} catch (error) {
return new MessageError(error);
Expand Down
3 changes: 2 additions & 1 deletion guardian-service/src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ Promise.all([
'v2-7-0',
'v2-9-0',
'v2-11-0',
'v2-12-0'
'v2-12-0',
'v2-13-0',
]),
MessageBrokerChannel.connect('GUARDIANS_SERVICE'),
NestFactory.createMicroservice<MicroserviceOptions>(AppModule,{
Expand Down
47 changes: 47 additions & 0 deletions guardian-service/src/migrations/v2-13-0.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { ConfigType } from '@guardian/interfaces';
import { Migration } from '@mikro-orm/migrations-mongodb';

/**
* Migration to version 2.13.0
*/
export class ReleaseMigration extends Migration {
/**
* Up migration
*/
async up(): Promise<void> {
await this.setupSuggestionsConfig();
}

/**
* Setup suggestions config
*/
async setupSuggestionsConfig() {
const suggestionsConfigCollection =
this.getCollection('SuggestionsConfig');
const policyCollection = this.getCollection('Policy');
const policiesByUsers = await policyCollection
.aggregate([
{
$group: {
_id: '$owner',
policyIds: {
$push: '$_id',
},
},
},
])
.toArray();
for (const policiesByUser of policiesByUsers) {
await suggestionsConfigCollection.insertOne({
user: policiesByUser._id,
items: policiesByUser.policyIds
.slice(0, 5)
.map((id, index) => ({
id,
index,
type: ConfigType.POLICY,
})),
});
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import JSZip from 'jszip';
import { GenerateUUIDv4, SchemaEntity, TagType, TopicType } from '@guardian/interfaces';
import {
ConfigType,
GenerateUUIDv4,
SchemaEntity,
TagType,
TopicType,
} from '@guardian/interfaces';
import { publishSystemSchemas } from '@api/helpers/schema-publish-helper';
import { importSchemaByFiles } from '@api/helpers/schema-import-export-helper';
import { PolicyConverterUtils } from '@policy-engine/policy-converter-utils';
Expand Down Expand Up @@ -356,6 +362,22 @@ export class PolicyImportExportHelper {
await DatabaseServer.saveArtifact(addedArtifact);
}

const suggestionsConfig = await DatabaseServer.getSuggestionsConfig(
policyOwner
);
if (!suggestionsConfig) {
await DatabaseServer.setSuggestionsConfig({
user: policyOwner,
items: [
{
id: result.id,
type: ConfigType.POLICY,
index: 0,
},
],
});
}

notifier.completed();
return { policy: result, errors };
}
Expand Down

0 comments on commit a379a24

Please sign in to comment.