Compare commits

...
2 Commits
Author SHA1 Message Date
Ruslan Bakiev 7da13c895d Provision configured Geo database
Build and deploy Docker image / build (push) Successful in 31s
2026-08-20 17:33:17 +07:00
Ruslan Bakiev f2c2f7f99f Use provisioned Geo database
Build and deploy Docker image / build (push) Successful in 47s
2026-08-20 17:30:25 +07:00
+17 -3
View File
@@ -6,16 +6,30 @@ const ARANGODB_PASSWORD = process.env.ARANGODB_PASSWORD || ''
let _db: Database | null = null
function database(databaseName: string): Database {
const url = ARANGODB_URL.startsWith('http') ? ARANGODB_URL : `http://${ARANGODB_URL}`
return new Database({ url, databaseName, auth: { username: 'root', password: ARANGODB_PASSWORD } })
}
export function getDb(): Database {
if (!_db) {
const url = ARANGODB_URL.startsWith('http') ? ARANGODB_URL : `http://${ARANGODB_URL}`
_db = new Database({ url, databaseName: ARANGODB_DATABASE, auth: { username: 'root', password: ARANGODB_PASSWORD } })
console.log(`Connected to ArangoDB: ${url}/${ARANGODB_DATABASE}`)
_db = database(ARANGODB_DATABASE)
console.log(`Connected to ArangoDB: ${ARANGODB_URL}/${ARANGODB_DATABASE}`)
}
return _db
}
async function ensureDatabase(): Promise<void> {
const system = database('_system')
const databases = await system.listDatabases()
if (!databases.includes(ARANGODB_DATABASE)) {
await system.createDatabase(ARANGODB_DATABASE)
console.log(`Created ArangoDB database: ${ARANGODB_DATABASE}`)
}
}
export async function ensureGraph(): Promise<void> {
await ensureDatabase()
const db = getDb()
const nodes = db.collection('nodes')