Auto-fetch PayU payment link tokens
All checks were successful
build-and-deploy / build-deploy (push) Successful in 36s
All checks were successful
build-and-deploy / build-deploy (push) Successful in 36s
This commit is contained in:
@@ -25,12 +25,35 @@ class PayuPaymentLinkSettingsSchemaFix(
|
||||
id uuid primary key,
|
||||
property_id uuid not null unique references property(id) on delete cascade,
|
||||
merchant_id text not null,
|
||||
access_token text not null,
|
||||
client_id text,
|
||||
client_secret text,
|
||||
access_token text,
|
||||
token_expires_at timestamptz,
|
||||
is_test boolean not null default false,
|
||||
updated_at timestamptz not null
|
||||
)
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
ensureColumn("payu_payment_link_settings", "client_id", "text")
|
||||
ensureColumn("payu_payment_link_settings", "client_secret", "text")
|
||||
ensureColumn("payu_payment_link_settings", "access_token", "text")
|
||||
ensureColumn("payu_payment_link_settings", "token_expires_at", "timestamptz")
|
||||
}
|
||||
|
||||
private fun ensureColumn(table: String, column: String, type: String) {
|
||||
val exists = jdbcTemplate.queryForObject(
|
||||
"""
|
||||
select count(*)
|
||||
from information_schema.columns
|
||||
where table_name = '$table'
|
||||
and column_name = '$column'
|
||||
""".trimIndent(),
|
||||
Int::class.java
|
||||
) ?: 0
|
||||
if (exists == 0) {
|
||||
logger.info("Adding $table.$column column")
|
||||
jdbcTemplate.execute("alter table $table add column $column $type")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user