mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 04:26:43 +00:00
Merge pull request #887 from Infisical/signup-secret-tagging
Update signup secret distinction/tagging for better telemetry
This commit is contained in:
@@ -234,6 +234,9 @@ export const batchSecrets = async (req: Request, res: Response) => {
|
|||||||
$inc: {
|
$inc: {
|
||||||
version: 1
|
version: 1
|
||||||
},
|
},
|
||||||
|
$unset: {
|
||||||
|
'metadata.source': true as true
|
||||||
|
},
|
||||||
...u,
|
...u,
|
||||||
_id: new Types.ObjectId(u._id)
|
_id: new Types.ObjectId(u._id)
|
||||||
}
|
}
|
||||||
@@ -966,6 +969,7 @@ export const getSecrets = async (req: Request, res: Response) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const postHogClient = await TelemetryService.getPostHogClient();
|
const postHogClient = await TelemetryService.getPostHogClient();
|
||||||
|
|
||||||
if (postHogClient) {
|
if (postHogClient) {
|
||||||
postHogClient.capture({
|
postHogClient.capture({
|
||||||
event: "secrets pulled",
|
event: "secrets pulled",
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ const secretVersionSchema = new Schema<ISecretVersion>(
|
|||||||
ref: "Tag",
|
ref: "Tag",
|
||||||
type: [Schema.Types.ObjectId],
|
type: [Schema.Types.ObjectId],
|
||||||
default: [],
|
default: [],
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
timestamps: true,
|
timestamps: true,
|
||||||
|
|||||||
@@ -393,9 +393,10 @@ export const createSecretHelper = async ({
|
|||||||
secretCommentTag,
|
secretCommentTag,
|
||||||
folder: folderId,
|
folder: folderId,
|
||||||
algorithm: ALGORITHM_AES_256_GCM,
|
algorithm: ALGORITHM_AES_256_GCM,
|
||||||
keyEncoding: ENCODING_SCHEME_UTF8
|
keyEncoding: ENCODING_SCHEME_UTF8,
|
||||||
|
metadata
|
||||||
}).save();
|
}).save();
|
||||||
|
|
||||||
const secretVersion = new SecretVersion({
|
const secretVersion = new SecretVersion({
|
||||||
secret: secret._id,
|
secret: secret._id,
|
||||||
version: secret.version,
|
version: secret.version,
|
||||||
@@ -415,7 +416,7 @@ export const createSecretHelper = async ({
|
|||||||
algorithm: ALGORITHM_AES_256_GCM,
|
algorithm: ALGORITHM_AES_256_GCM,
|
||||||
keyEncoding: ENCODING_SCHEME_UTF8
|
keyEncoding: ENCODING_SCHEME_UTF8
|
||||||
});
|
});
|
||||||
|
|
||||||
// (EE) add version for new secret
|
// (EE) add version for new secret
|
||||||
await EESecretService.addSecretVersions({
|
await EESecretService.addSecretVersions({
|
||||||
secretVersions: [secretVersion]
|
secretVersions: [secretVersion]
|
||||||
@@ -566,15 +567,17 @@ export const getSecretsHelper = async ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const postHogClient = await TelemetryService.getPostHogClient();
|
const postHogClient = await TelemetryService.getPostHogClient();
|
||||||
|
|
||||||
|
const numberOfSignupSecrets = (secrets.filter((secret) => secret?.metadata?.source === "signup")).length;
|
||||||
|
|
||||||
if (postHogClient) {
|
if (postHogClient && (secrets.length - numberOfSignupSecrets > 0)) {
|
||||||
postHogClient.capture({
|
postHogClient.capture({
|
||||||
event: "secrets pulled",
|
event: "secrets pulled",
|
||||||
distinctId: await TelemetryService.getDistinctId({
|
distinctId: await TelemetryService.getDistinctId({
|
||||||
authData
|
authData
|
||||||
}),
|
}),
|
||||||
properties: {
|
properties: {
|
||||||
numberOfSecrets: secrets.length,
|
numberOfSecrets: secrets.length - numberOfSignupSecrets,
|
||||||
environment,
|
environment,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
folderId,
|
folderId,
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ export interface ISecret {
|
|||||||
keyEncoding: "utf8" | "base64";
|
keyEncoding: "utf8" | "base64";
|
||||||
tags?: string[];
|
tags?: string[];
|
||||||
folder?: string;
|
folder?: string;
|
||||||
|
metadata?: {
|
||||||
|
[key: string]: string;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const secretSchema = new Schema<ISecret>(
|
const secretSchema = new Schema<ISecret>(
|
||||||
@@ -131,6 +134,9 @@ const secretSchema = new Schema<ISecret>(
|
|||||||
type: String,
|
type: String,
|
||||||
default: "root",
|
default: "root",
|
||||||
},
|
},
|
||||||
|
metadata: {
|
||||||
|
type: Schema.Types.Mixed
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
timestamps: true,
|
timestamps: true,
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const fetchProjectEncryptedSecrets = async (
|
|||||||
folderId?: string,
|
folderId?: string,
|
||||||
secretPath?: string
|
secretPath?: string
|
||||||
) => {
|
) => {
|
||||||
const { data } = await apiRequest.get<{ secrets: EncryptedSecret[] }>("/api/v2/secrets", {
|
const { data } = await apiRequest.get<{ secrets: EncryptedSecret[] }>("/api/v3/secrets", {
|
||||||
params: {
|
params: {
|
||||||
environment: env,
|
environment: env,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
@@ -46,6 +46,7 @@ const fetchProjectEncryptedSecrets = async (
|
|||||||
secretPath
|
secretPath
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return data.secrets;
|
return data.secrets;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user