mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 03:27:15 +00:00
Remove tags from secrets when tag is deleted
This commit is contained in:
@@ -2,7 +2,7 @@ import { Request, Response } from 'express';
|
|||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Types } from 'mongoose';
|
import { Types } from 'mongoose';
|
||||||
import {
|
import {
|
||||||
Membership,
|
Membership, Secret,
|
||||||
} from '../../models';
|
} from '../../models';
|
||||||
import Tag, { ITag } from '../../models/tag';
|
import Tag, { ITag } from '../../models/tag';
|
||||||
import { Builder } from "builder-pattern"
|
import { Builder } from "builder-pattern"
|
||||||
@@ -54,6 +54,12 @@ export const deleteWorkspaceTag = async (req: Request, res: Response) => {
|
|||||||
|
|
||||||
const result = await Tag.findByIdAndDelete(tagId);
|
const result = await Tag.findByIdAndDelete(tagId);
|
||||||
|
|
||||||
|
// remove the tag from secrets
|
||||||
|
await Secret.updateMany(
|
||||||
|
{ tags: { $in: [tagId] } },
|
||||||
|
{ $pull: { tags: tagId } }
|
||||||
|
);
|
||||||
|
|
||||||
res.json(result);
|
res.json(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -109,6 +109,9 @@ const secretSchema = new Schema<ISecret>(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
secretSchema.index({ tags: 1 }, { background: true })
|
||||||
|
|
||||||
const Secret = model<ISecret>('Secret', secretSchema);
|
const Secret = model<ISecret>('Secret', secretSchema);
|
||||||
|
|
||||||
export default Secret;
|
export default Secret;
|
||||||
|
|||||||
Reference in New Issue
Block a user