mirror of
https://github.com/bitwarden/browser
synced 2026-02-10 05:30:01 +00:00
multiple count configs into one array and a static validator method
This commit is contained in:
@@ -9,107 +9,68 @@ import { Achievement, AchievementId, MetricId } from "../../types";
|
||||
*/
|
||||
export class ItemCreatedCountConfig implements Achievement {
|
||||
// Define the achievements here
|
||||
static readonly AllConfigs: ItemCreatedCountConfig[] = [
|
||||
// Any vault items added
|
||||
new ItemCreatedCountConfig("vault-item-created", "1st item added", 1),
|
||||
new ItemCreatedCountConfig("vault-items-created-ten", "10 items created", 10),
|
||||
new ItemCreatedCountConfig("vault-items-created-fifty", "50 items created", 50),
|
||||
new ItemCreatedCountConfig("vault-items-created-one-hundred", "100 items created", 100),
|
||||
|
||||
// Any vault items added
|
||||
static readonly ItemCreated = new ItemCreatedCountConfig(
|
||||
"vault-item-created",
|
||||
"1st item added",
|
||||
1,
|
||||
);
|
||||
static readonly ItemsCreated10 = new ItemCreatedCountConfig(
|
||||
"vault-items-created-ten",
|
||||
"10 items created",
|
||||
10,
|
||||
);
|
||||
static readonly ItemsCreated50 = new ItemCreatedCountConfig(
|
||||
"vault-items-created-fifty",
|
||||
"50 items created",
|
||||
50,
|
||||
);
|
||||
static readonly ItemsCreated100 = new ItemCreatedCountConfig(
|
||||
"vault-items-created-one-hundred",
|
||||
"100 items created",
|
||||
100,
|
||||
);
|
||||
// Login items added
|
||||
new ItemCreatedCountConfig("login-item-created", "1st login item added", 1, CipherType.Login),
|
||||
new ItemCreatedCountConfig(
|
||||
"login-item-created-ten",
|
||||
"10 login items added",
|
||||
10,
|
||||
CipherType.Login,
|
||||
),
|
||||
new ItemCreatedCountConfig(
|
||||
"login-item-created-fifty",
|
||||
"50 login items added",
|
||||
50,
|
||||
CipherType.Login,
|
||||
),
|
||||
new ItemCreatedCountConfig(
|
||||
"login-item-created-one-hundred",
|
||||
"100 login items added",
|
||||
100,
|
||||
CipherType.Login,
|
||||
),
|
||||
|
||||
// Login items added
|
||||
static readonly LoginItemCreated = new ItemCreatedCountConfig(
|
||||
"login-item-created",
|
||||
"1st login item added",
|
||||
1,
|
||||
CipherType.Login,
|
||||
);
|
||||
static readonly LoginItemCreated10 = new ItemCreatedCountConfig(
|
||||
"login-item-created-ten",
|
||||
"10 login items added",
|
||||
10,
|
||||
CipherType.Login,
|
||||
);
|
||||
static readonly LoginItemCreated50 = new ItemCreatedCountConfig(
|
||||
"login-item-created-fifty",
|
||||
"50 login items added",
|
||||
50,
|
||||
CipherType.Login,
|
||||
);
|
||||
static readonly LoginItemCreated100 = new ItemCreatedCountConfig(
|
||||
"login-item-created-one-hundred",
|
||||
"100 login items added",
|
||||
100,
|
||||
CipherType.Login,
|
||||
);
|
||||
// Card items
|
||||
new ItemCreatedCountConfig("card-item-created", "1st card item added", 1, CipherType.Card),
|
||||
new ItemCreatedCountConfig("card-item-created-3", "3rd card items added", 3, CipherType.Card),
|
||||
new ItemCreatedCountConfig("card-item-created-5", "5th card item added", 5, CipherType.Card),
|
||||
|
||||
// Card items
|
||||
static readonly CardItemCreated = new ItemCreatedCountConfig(
|
||||
"card-item-created",
|
||||
"1st card item added",
|
||||
1,
|
||||
CipherType.Card,
|
||||
);
|
||||
static readonly CardItemCreated3 = new ItemCreatedCountConfig(
|
||||
"card-item-created-3",
|
||||
"3rd card items added",
|
||||
3,
|
||||
CipherType.Card,
|
||||
);
|
||||
static readonly CardItemCreated5 = new ItemCreatedCountConfig(
|
||||
"card-item-created-5",
|
||||
"5th card item added",
|
||||
5,
|
||||
CipherType.Card,
|
||||
);
|
||||
// Note items
|
||||
new ItemCreatedCountConfig(
|
||||
"note-item-created",
|
||||
"1st card item added",
|
||||
1,
|
||||
CipherType.SecureNote,
|
||||
),
|
||||
new ItemCreatedCountConfig(
|
||||
"note-item-created-ten",
|
||||
"10 card items added",
|
||||
10,
|
||||
CipherType.SecureNote,
|
||||
),
|
||||
new ItemCreatedCountConfig(
|
||||
"note-item-created-fifty",
|
||||
"50 card items added",
|
||||
50,
|
||||
CipherType.SecureNote,
|
||||
),
|
||||
new ItemCreatedCountConfig(
|
||||
"note-item-created-one-hundred",
|
||||
"100 card items added",
|
||||
100,
|
||||
CipherType.SecureNote,
|
||||
),
|
||||
|
||||
// Note items
|
||||
static readonly NoteItemCreated = new ItemCreatedCountConfig(
|
||||
"note-item-created",
|
||||
"1st card item added",
|
||||
1,
|
||||
CipherType.SecureNote,
|
||||
);
|
||||
static readonly NoteItemCreated10 = new ItemCreatedCountConfig(
|
||||
"note-item-created-ten",
|
||||
"10 card items added",
|
||||
10,
|
||||
CipherType.SecureNote,
|
||||
);
|
||||
static readonly NoteItemCreated50 = new ItemCreatedCountConfig(
|
||||
"note-item-created-fifty",
|
||||
"50 card items added",
|
||||
50,
|
||||
CipherType.SecureNote,
|
||||
);
|
||||
static readonly NoteItemCreated100 = new ItemCreatedCountConfig(
|
||||
"note-item-created-one-hundred",
|
||||
"100 card items added",
|
||||
100,
|
||||
CipherType.SecureNote,
|
||||
);
|
||||
|
||||
// SSH Key - Achievements indicate only one so just set threshold at 1
|
||||
static readonly SSHKeyItemCreated = new ItemCreatedCountConfig(
|
||||
"ssh-key-item-created",
|
||||
"1st SSH Key added",
|
||||
1,
|
||||
);
|
||||
// SSH Key - Achievements indicate only one so just set threshold at 1
|
||||
new ItemCreatedCountConfig("ssh-key-item-created", "1st SSH Key added", 1),
|
||||
];
|
||||
|
||||
base: Achievement;
|
||||
get achievement() {
|
||||
|
||||
@@ -9,26 +9,12 @@ import { Achievement, AchievementId, MetricId } from "../../types";
|
||||
*/
|
||||
export class SendItemCreatedCountConfig implements Achievement {
|
||||
// Define send count achievements here
|
||||
static readonly SendItemCreated = new SendItemCreatedCountConfig(
|
||||
"send-item-created",
|
||||
"1st send item created",
|
||||
1,
|
||||
);
|
||||
static readonly SendItemCreated10 = new SendItemCreatedCountConfig(
|
||||
"send-item-created-10",
|
||||
"10 send items created",
|
||||
10,
|
||||
);
|
||||
static readonly SendItemCreated50 = new SendItemCreatedCountConfig(
|
||||
"send-item-created-50",
|
||||
"50 send items created",
|
||||
50,
|
||||
);
|
||||
static readonly SendItemCreated100 = new SendItemCreatedCountConfig(
|
||||
"send-item-created-100",
|
||||
"100 send items created",
|
||||
100,
|
||||
);
|
||||
static readonly AllConfigs: SendItemCreatedCountConfig[] = [
|
||||
new SendItemCreatedCountConfig("send-item-created", "1st send item created", 1),
|
||||
new SendItemCreatedCountConfig("send-item-created-10", "10 send items created", 10),
|
||||
new SendItemCreatedCountConfig("send-item-created-50", "50 send items created", 50),
|
||||
new SendItemCreatedCountConfig("send-item-created-100", "100 send items created", 100),
|
||||
];
|
||||
|
||||
base: Achievement;
|
||||
get achievement() {
|
||||
|
||||
@@ -22,6 +22,10 @@ export class SendItemCreatedCountValidator implements AchievementValidator {
|
||||
this.sendItemCreatedProgress = config.active.metric;
|
||||
}
|
||||
|
||||
static createValidators(configs: SendItemCreatedCountConfig[]): SendItemCreatedCountValidator[] {
|
||||
return configs.map((config) => new SendItemCreatedCountValidator(config));
|
||||
}
|
||||
|
||||
base: AchievementValidator;
|
||||
get achievement() {
|
||||
return this.config.achievement;
|
||||
|
||||
@@ -30,6 +30,10 @@ export class VaultItemCreatedCountValidator implements AchievementValidator {
|
||||
this.itemCreatedProgress = config.active.metric;
|
||||
}
|
||||
|
||||
static createValidators(configs: ItemCreatedCountConfig[]): AchievementValidator[] {
|
||||
return configs.map((config) => new VaultItemCreatedCountValidator(config));
|
||||
}
|
||||
|
||||
base: AchievementValidator;
|
||||
get achievement() {
|
||||
return this.config.achievement;
|
||||
|
||||
Reference in New Issue
Block a user