package repositories import ( "GoMembership/internal/models" // "GoMembership/pkg/errors" "database/sql" ) type BankAccountRepository interface { CreateBankAccount(account *models.BankAccount) (int64, error) } type bankAccountRepository struct { db *sql.DB } func NewBankAccountRepository(db *sql.DB) BankAccountRepository { return &bankAccountRepository{db} } func (repo *bankAccountRepository) CreateBankAccount(account *models.BankAccount) (int64, error) { query := "INSERT INTO banking (user_id, iban, bic, mandate_reference, mandate_date_signed, bank_name, account_holder_name) VALUES (?, ?, ?, ?, ?, ?, ?)" result, err := repo.db.Exec(query, account.UserID, account.IBAN, account.BIC, account.MandateReference, account.MandateDateSigned, account.Bank, account.AccountHolderName) if err != nil { return -1, err } lastInsertID, err := result.LastInsertId() if err != nil { return -1, err } return lastInsertID, err }