Add bank synchronization features with FinTS support and update dependencies
This commit is contained in:
@@ -118,4 +118,52 @@ export default defineSchema({
|
||||
status: v.string(),
|
||||
expiresAt: v.optional(v.number()),
|
||||
}).index("by_user", ["userId"]),
|
||||
|
||||
bankConfig: defineTable({
|
||||
userId: v.id("users"),
|
||||
providerPreference: v.union(
|
||||
v.literal("auto"),
|
||||
v.literal("comdirect"),
|
||||
v.literal("fints"),
|
||||
),
|
||||
comdirectHasCredentials: v.boolean(),
|
||||
fints: v.object({
|
||||
blz: v.string(),
|
||||
url: v.string(),
|
||||
login: v.string(),
|
||||
productId: v.string(),
|
||||
productVersion: v.optional(v.string()),
|
||||
tanMethodId: v.optional(v.number()),
|
||||
tanMediaName: v.optional(v.string()),
|
||||
bankingInformationJson: v.optional(v.string()),
|
||||
}),
|
||||
}).index("by_user", ["userId"]),
|
||||
|
||||
syncState: defineTable({
|
||||
userId: v.id("users"),
|
||||
lastSync: v.optional(v.number()),
|
||||
lastProviderUsed: v.optional(v.union(v.literal("comdirect"), v.literal("fints"))),
|
||||
lastError: v.optional(v.string()),
|
||||
}).index("by_user", ["userId"]),
|
||||
|
||||
pendingTan: defineTable({
|
||||
userId: v.id("users"),
|
||||
status: v.union(
|
||||
v.literal("idle"),
|
||||
v.literal("awaiting"),
|
||||
v.literal("done"),
|
||||
v.literal("error"),
|
||||
),
|
||||
challengeRef: v.optional(v.string()),
|
||||
challengeMessage: v.optional(v.string()),
|
||||
photoTanMimeType: v.optional(v.string()),
|
||||
photoTanBase64: v.optional(v.string()),
|
||||
createdAt: v.number(),
|
||||
updatedAt: v.number(),
|
||||
errorMessage: v.optional(v.string()),
|
||||
pollAttempt: v.optional(v.number()),
|
||||
syncJobJson: v.optional(v.string()),
|
||||
isDecoupled: v.optional(v.boolean()),
|
||||
submittedTan: v.optional(v.string()),
|
||||
}).index("by_user", ["userId"]),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user