mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-02-01 18:02:31 -05:00
Cleanup FieldKey const (#1404)
This commit is contained in:
@@ -266,16 +266,6 @@ declare const FieldKey: {
|
||||
* Type: Text
|
||||
*/
|
||||
readonly IdentityCountry: "identity.country";
|
||||
/**
|
||||
* API key value field
|
||||
* Type: Password
|
||||
*/
|
||||
readonly ApiKeyKey: "apikey.key";
|
||||
/**
|
||||
* API key type/provider field (e.g., "OpenAI", "Stripe")
|
||||
* Type: Text
|
||||
*/
|
||||
readonly ApiKeyType: "apikey.type";
|
||||
/**
|
||||
* Alias email field
|
||||
* Type: Email
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
// src/vault/FieldKey.ts
|
||||
var FieldKey = {
|
||||
// ============================================================
|
||||
// Login Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Login username field
|
||||
* Type: Text
|
||||
@@ -32,9 +29,6 @@ var FieldKey = {
|
||||
* Type: Text
|
||||
*/
|
||||
LoginRecoveryCodes: "login.recovery_codes",
|
||||
// ============================================================
|
||||
// Credit Card Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Credit card number field
|
||||
* Type: Text
|
||||
@@ -65,9 +59,6 @@ var FieldKey = {
|
||||
* Type: Password
|
||||
*/
|
||||
CardPin: "card.pin",
|
||||
// ============================================================
|
||||
// Identity Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Identity title field (e.g., Mr., Mrs., Dr.)
|
||||
* Type: Text
|
||||
@@ -128,22 +119,6 @@ var FieldKey = {
|
||||
* Type: Text
|
||||
*/
|
||||
IdentityCountry: "identity.country",
|
||||
// ============================================================
|
||||
// API Key Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* API key value field
|
||||
* Type: Password
|
||||
*/
|
||||
ApiKeyKey: "apikey.key",
|
||||
/**
|
||||
* API key type/provider field (e.g., "OpenAI", "Stripe")
|
||||
* Type: Text
|
||||
*/
|
||||
ApiKeyType: "apikey.type",
|
||||
// ============================================================
|
||||
// Alias Fields (Legacy - from old Alias table)
|
||||
// ============================================================
|
||||
/**
|
||||
* Alias email field
|
||||
* Type: Email
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -830,7 +830,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -841,7 +841,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -888,7 +888,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -904,7 +904,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -919,7 +919,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -934,7 +934,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -953,7 +953,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -975,7 +975,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1067,7 +1067,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1945,7 +1945,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1956,7 +1956,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -2003,7 +2003,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2019,7 +2019,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2034,7 +2034,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2049,7 +2049,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2068,7 +2068,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2090,7 +2090,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2182,7 +2182,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -798,7 +798,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -809,7 +809,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -824,7 +824,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -840,7 +840,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -887,7 +887,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -902,7 +902,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -921,7 +921,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -943,7 +943,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1035,7 +1035,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1913,7 +1913,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1924,7 +1924,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1939,7 +1939,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1955,7 +1955,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2002,7 +2002,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2017,7 +2017,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2036,7 +2036,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2058,7 +2058,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2150,7 +2150,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -266,16 +266,6 @@ declare const FieldKey: {
|
||||
* Type: Text
|
||||
*/
|
||||
readonly IdentityCountry: "identity.country";
|
||||
/**
|
||||
* API key value field
|
||||
* Type: Password
|
||||
*/
|
||||
readonly ApiKeyKey: "apikey.key";
|
||||
/**
|
||||
* API key type/provider field (e.g., "OpenAI", "Stripe")
|
||||
* Type: Text
|
||||
*/
|
||||
readonly ApiKeyType: "apikey.type";
|
||||
/**
|
||||
* Alias email field
|
||||
* Type: Email
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
// src/vault/FieldKey.ts
|
||||
var FieldKey = {
|
||||
// ============================================================
|
||||
// Login Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Login username field
|
||||
* Type: Text
|
||||
@@ -32,9 +29,6 @@ var FieldKey = {
|
||||
* Type: Text
|
||||
*/
|
||||
LoginRecoveryCodes: "login.recovery_codes",
|
||||
// ============================================================
|
||||
// Credit Card Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Credit card number field
|
||||
* Type: Text
|
||||
@@ -65,9 +59,6 @@ var FieldKey = {
|
||||
* Type: Password
|
||||
*/
|
||||
CardPin: "card.pin",
|
||||
// ============================================================
|
||||
// Identity Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* Identity title field (e.g., Mr., Mrs., Dr.)
|
||||
* Type: Text
|
||||
@@ -128,22 +119,6 @@ var FieldKey = {
|
||||
* Type: Text
|
||||
*/
|
||||
IdentityCountry: "identity.country",
|
||||
// ============================================================
|
||||
// API Key Fields
|
||||
// ============================================================
|
||||
/**
|
||||
* API key value field
|
||||
* Type: Password
|
||||
*/
|
||||
ApiKeyKey: "apikey.key",
|
||||
/**
|
||||
* API key type/provider field (e.g., "OpenAI", "Stripe")
|
||||
* Type: Text
|
||||
*/
|
||||
ApiKeyType: "apikey.type",
|
||||
// ============================================================
|
||||
// Alias Fields (Legacy - from old Alias table)
|
||||
// ============================================================
|
||||
/**
|
||||
* Alias email field
|
||||
* Type: Email
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -830,7 +830,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -841,7 +841,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -888,7 +888,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -904,7 +904,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -919,7 +919,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -934,7 +934,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -953,7 +953,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -975,7 +975,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1067,7 +1067,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1945,7 +1945,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1956,7 +1956,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -2003,7 +2003,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2019,7 +2019,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2034,7 +2034,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2049,7 +2049,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2068,7 +2068,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2090,7 +2090,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2182,7 +2182,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -798,7 +798,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -809,7 +809,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -824,7 +824,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -840,7 +840,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -887,7 +887,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -902,7 +902,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -921,7 +921,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -943,7 +943,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1035,7 +1035,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1913,7 +1913,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1924,7 +1924,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1939,7 +1939,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1955,7 +1955,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2002,7 +2002,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2017,7 +2017,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2036,7 +2036,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2058,7 +2058,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2150,7 +2150,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -830,7 +830,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -841,7 +841,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -888,7 +888,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -904,7 +904,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -919,7 +919,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -934,7 +934,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -953,7 +953,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -975,7 +975,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1067,7 +1067,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1945,7 +1945,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1956,7 +1956,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -2003,7 +2003,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2019,7 +2019,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2034,7 +2034,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2049,7 +2049,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2068,7 +2068,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2090,7 +2090,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2182,7 +2182,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -798,7 +798,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -809,7 +809,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -824,7 +824,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -840,7 +840,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -856,7 +856,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -872,7 +872,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -887,7 +887,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -902,7 +902,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -921,7 +921,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -943,7 +943,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1035,7 +1035,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1913,7 +1913,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1924,7 +1924,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1939,7 +1939,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1955,7 +1955,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -1971,7 +1971,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1987,7 +1987,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2002,7 +2002,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2017,7 +2017,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2036,7 +2036,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2058,7 +2058,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2150,7 +2150,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ public class FieldDefinition : SyncableEntity
|
||||
/// - login.username, login.password, login.notes, login.url
|
||||
/// - card.number, card.cardholder_name, card.cvv
|
||||
/// - identity.first_name, identity.email, identity.phone_numbers
|
||||
/// - apikey.key, apikey.type
|
||||
/// - alias.email, alias.first_name (legacy)
|
||||
/// Custom fields have FieldKey = NULL and are identified by their GUID and Label.
|
||||
/// </summary>
|
||||
@@ -70,7 +69,7 @@ public class FieldDefinition : SyncableEntity
|
||||
public int Weight { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the applicable item types as JSON array (e.g., '["Login","ApiKey"]').
|
||||
/// Gets or sets the applicable item types as JSON array (e.g., '["Login","Identity"]').
|
||||
/// Null means applicable to all types.
|
||||
/// </summary>
|
||||
public string? ApplicableToTypes { get; set; }
|
||||
|
||||
@@ -293,7 +293,7 @@ namespace AliasClientDb.Migrations
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '[""Login""]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '[""Login""]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '[""Login"",""ApiKey""]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '[""Login""]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
|
||||
@@ -792,7 +792,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -803,7 +803,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -818,7 +818,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -834,7 +834,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -850,7 +850,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -866,7 +866,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -881,7 +881,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -896,7 +896,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -915,7 +915,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -937,7 +937,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1029,7 +1029,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -132,7 +132,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -147,7 +147,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -163,7 +163,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -179,7 +179,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -195,7 +195,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -210,7 +210,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -225,7 +225,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -244,7 +244,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -266,7 +266,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -358,7 +358,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
@@ -19,10 +19,6 @@
|
||||
* ```
|
||||
*/
|
||||
export const FieldKey = {
|
||||
// ============================================================
|
||||
// Login Fields
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* Login username field
|
||||
* Type: Text
|
||||
@@ -53,10 +49,6 @@ export const FieldKey = {
|
||||
*/
|
||||
LoginRecoveryCodes: 'login.recovery_codes',
|
||||
|
||||
// ============================================================
|
||||
// Credit Card Fields
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* Credit card number field
|
||||
* Type: Text
|
||||
@@ -93,10 +85,6 @@ export const FieldKey = {
|
||||
*/
|
||||
CardPin: 'card.pin',
|
||||
|
||||
// ============================================================
|
||||
// Identity Fields
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* Identity title field (e.g., Mr., Mrs., Dr.)
|
||||
* Type: Text
|
||||
@@ -169,26 +157,6 @@ export const FieldKey = {
|
||||
*/
|
||||
IdentityCountry: 'identity.country',
|
||||
|
||||
// ============================================================
|
||||
// API Key Fields
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* API key value field
|
||||
* Type: Password
|
||||
*/
|
||||
ApiKeyKey: 'apikey.key',
|
||||
|
||||
/**
|
||||
* API key type/provider field (e.g., "OpenAI", "Stripe")
|
||||
* Type: Text
|
||||
*/
|
||||
ApiKeyType: 'apikey.type',
|
||||
|
||||
// ============================================================
|
||||
// Alias Fields (Legacy - from old Alias table)
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* Alias email field
|
||||
* Type: Email
|
||||
|
||||
@@ -799,7 +799,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -810,7 +810,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -825,7 +825,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -841,7 +841,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -857,7 +857,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -873,7 +873,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -888,7 +888,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -903,7 +903,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -922,7 +922,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -944,7 +944,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -1036,7 +1036,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
@@ -1918,7 +1918,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'login.username', 'Item', 'Text', 'Username', 0, 'Visible', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.password', 'Item', 'Password', 'Password', 0, 'Hidden', 1, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.notes', 'Item', 'Text', 'Notes', 0, 'Collapsed', 0, 0, NULL, datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login","ApiKey"]', datetime('now'), datetime('now'), 0);
|
||||
(lower(hex(randomblob(16))), 'login.url', 'Item', 'URL', 'Website URLs', 1, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
-- Alias fields
|
||||
INSERT INTO FieldDefinitions (Id, FieldKey, EntityType, FieldType, Label, IsMultiValue, DefaultVisibility, EnableHistory, DisplayOrder, ApplicableToTypes, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1929,7 +1929,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
(lower(hex(randomblob(16))), 'alias.nickname', 'Item', 'Text', 'Nickname', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.gender', 'Item', 'Text', 'Gender', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0),
|
||||
(lower(hex(randomblob(16))), 'alias.birthdate', 'Item', 'Date', 'Birth Date', 0, 'Visible', 0, 0, '["Login"]', datetime('now'), datetime('now'), 0);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Items (Id, Name, ItemType, LogoId, FolderId, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1944,7 +1944,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
c.IsDeleted
|
||||
FROM Credentials c
|
||||
LEFT JOIN Services s ON s.Id = c.ServiceId;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO Logos (Id, Source, FileData, MimeType, FetchedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1960,7 +1960,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Services s
|
||||
WHERE s.Logo IS NOT NULL AND s.Url IS NOT NULL AND s.Url != ''
|
||||
GROUP BY s.Url;
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE Items
|
||||
@@ -1976,7 +1976,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE c.Id = Items.Id AND s.Logo IS NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -1992,7 +1992,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Services s ON s.Id = c.ServiceId
|
||||
WHERE s.Url IS NOT NULL AND s.Url != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2007,7 +2007,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Username IS NOT NULL AND c.Username != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2022,7 +2022,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
0 AS IsDeleted
|
||||
FROM Credentials c
|
||||
WHERE c.Notes IS NOT NULL AND c.Notes != '';
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldValues (Id, ItemId, FieldDefinitionId, Value, ValueIndex, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2041,7 +2041,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Passwords
|
||||
GROUP BY CredentialId
|
||||
) pm ON p.CredentialId = pm.CredentialId AND p.UpdatedAt = pm.MaxUpdated;
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO FieldHistories (Id, ItemId, FieldDefinitionId, ValueSnapshot, ChangedAt, CreatedAt, UpdatedAt, IsDeleted)
|
||||
@@ -2063,7 +2063,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
GROUP BY CredentialId
|
||||
) pm ON p2.CredentialId = pm.CredentialId AND p2.UpdatedAt = pm.MaxUpdated
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
-- Migrate Alias.Email
|
||||
@@ -2155,7 +2155,7 @@ CREATE UNIQUE INDEX "IX_Logos_Source" ON "Logos" ("Source");
|
||||
FROM Credentials c
|
||||
INNER JOIN Aliases a ON a.Id = c.AliasId
|
||||
WHERE a.BirthDate IS NOT NULL AND a.BirthDate != '' AND a.BirthDate != '0001-01-01 00:00:00.000';
|
||||
|
||||
|
||||
|
||||
DROP TABLE "Passwords";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user