Skip to content

Commit

Permalink
feat: DB Migration CredentialStatus
Browse files Browse the repository at this point in the history
  • Loading branch information
simonas-notcat committed Apr 27, 2020
1 parent 24e2d5d commit 44fd36d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 2 deletions.
9 changes: 7 additions & 2 deletions packages/daf-cli/src/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { TrustGraphActionHandler, TrustGraphServiceController } from 'daf-trust-
import { DIDCommActionHandler, DIDCommMessageHandler } from 'daf-did-comm'
import { UrlMessageHandler } from 'daf-url'
import { createConnection } from 'typeorm'
const fs = require('fs')

import ws from 'ws'

Expand All @@ -21,7 +22,6 @@ const dataStoreFilename = process.env.DAF_DATA_STORE ?? defaultPath + 'database-
const infuraProjectId = process.env.DAF_INFURA_ID ?? '5ffc47f65c4042ce847ef66a3fa70d4c'

if (!process.env.DAF_IDENTITY_STORE || process.env.DAF_DATA_STORE) {
const fs = require('fs')
if (!fs.existsSync(defaultPath)) {
fs.mkdirSync(defaultPath)
}
Expand All @@ -42,12 +42,17 @@ if (process.env.DAF_TG_URI) TrustGraphServiceController.defaultUri = process.env
if (process.env.DAF_TG_WSURI) TrustGraphServiceController.defaultWsUri = process.env.DAF_TG_WSURI
TrustGraphServiceController.webSocketImpl = ws

const migrationsRun = fs.existsSync(dataStoreFilename)
const synchronize = !migrationsRun

const dbConnection = createConnection({
type: 'sqlite',
database: dataStoreFilename,
synchronize: true,
migrationsRun,
synchronize,
logging: process.env.DEBUG_DAF_DB ? true : false,
entities: [...Daf.Entities],
migrations: [...Daf.migrations],
})

const identityProviders = [
Expand Down
2 changes: 2 additions & 0 deletions packages/daf-core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ import { Message } from './entities/message'
export const Entities = [Key, Identity, Message, Claim, Credential, Presentation]

export { KeyType, Key, Identity, Message, Claim, Credential, Presentation }

export { migrations } from './migrations'
15 changes: 15 additions & 0 deletions packages/daf-core/src/migrations/CredentialStatus1587985317000.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import {MigrationInterface, QueryRunner } from "typeorm";

export class CredentialStatus1587985317000 implements MigrationInterface {

async up(queryRunner: QueryRunner): Promise<void> {
if (!queryRunner.hasColumn('credential', 'credentialStatus')) {
await queryRunner.query('ALTER TABLE credential ADD credentialStatus TEXT NULL')
}
}

async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query('ALTER TABLE credential DROP credentialStatus')
}

}
5 changes: 5 additions & 0 deletions packages/daf-core/src/migrations/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { CredentialStatus1587985317000 } from './CredentialStatus1587985317000'

export const migrations = [
CredentialStatus1587985317000
]

0 comments on commit 44fd36d

Please sign in to comment.