feat(medusa): Convert SwapService to TypeScript (#2000)

**What**
- refactor swap service to typescript
- reimplement legacy methods
- use enums instead of magic strings

RESOLVES CORE-396

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
Frane Polić
2022-09-05 13:37:47 +00:00
committed by GitHub
co-authored by Oliver Windall Juhl
parent 546a963f7b
commit ba6416f095
14 changed files with 609 additions and 599 deletions
@@ -0,0 +1,33 @@
import { MigrationInterface, QueryRunner } from "typeorm"
export class swapFulfillmentStatusRequiresAction1661863940645
implements MigrationInterface
{
name = "swapFulfillmentStatusRequiresAction1661863940645"
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TYPE "swap_fulfillment_status_enum" RENAME TO "swap_fulfillment_status_enum_old"`
)
await queryRunner.query(
`CREATE TYPE "swap_fulfillment_status_enum" AS ENUM('not_fulfilled', 'fulfilled', 'shipped', 'partially_shipped', 'canceled', 'requires_action')`
)
await queryRunner.query(
`ALTER TABLE "swap" ALTER COLUMN "fulfillment_status" TYPE "swap_fulfillment_status_enum" USING "fulfillment_status"::"text"::"swap_fulfillment_status_enum"`
)
await queryRunner.query(`DROP TYPE "swap_fulfillment_status_enum_old"`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`CREATE TYPE "swap_fulfillment_status_enum_old" AS ENUM('not_fulfilled', 'fulfilled', 'shipped', 'canceled', 'requires_action')`
)
await queryRunner.query(
`ALTER TABLE "swap" ALTER COLUMN "fulfillment_status" TYPE "swap_fulfillment_status_enum_old" USING "fulfillment_status"::"text"::"swap_fulfillment_status_enum_old"`
)
await queryRunner.query(`DROP TYPE "swap_fulfillment_status_enum"`)
await queryRunner.query(
`ALTER TYPE "swap_fulfillment_status_enum_old" RENAME TO "swap_fulfillment_status_enum"`
)
}
}