@valentine-efagene/qshelter-common 2.0.94 → 2.0.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/client/browser.d.ts +16 -16
- package/dist/generated/client/client.d.ts +16 -16
- package/dist/generated/client/commonInputTypes.d.ts +72 -72
- package/dist/generated/client/enums.d.ts +13 -13
- package/dist/generated/client/enums.js +10 -10
- package/dist/generated/client/internal/class.d.ts +32 -32
- package/dist/generated/client/internal/class.js +2 -2
- package/dist/generated/client/internal/prismaNamespace.d.ts +321 -321
- package/dist/generated/client/internal/prismaNamespace.js +50 -50
- package/dist/generated/client/internal/prismaNamespaceBrowser.d.ts +66 -66
- package/dist/generated/client/internal/prismaNamespaceBrowser.js +50 -50
- package/dist/generated/client/models/Application.d.ts +5439 -0
- package/dist/generated/client/models/Application.js +1 -0
- package/dist/generated/client/models/ApplicationDocument.d.ts +1409 -0
- package/dist/generated/client/models/ApplicationDocument.js +1 -0
- package/dist/generated/client/models/ApplicationEvent.d.ts +1254 -0
- package/dist/generated/client/models/ApplicationEvent.js +1 -0
- package/dist/generated/client/models/ApplicationPayment.d.ts +2030 -0
- package/dist/generated/client/models/ApplicationPayment.js +1 -0
- package/dist/generated/client/models/ApplicationPhase.d.ts +2243 -0
- package/dist/generated/client/models/ApplicationPhase.js +1 -0
- package/dist/generated/client/models/ApplicationRefund.d.ts +2560 -0
- package/dist/generated/client/models/ApplicationRefund.js +1 -0
- package/dist/generated/client/models/ApplicationTermination.d.ts +3446 -0
- package/dist/generated/client/models/ApplicationTermination.js +1 -0
- package/dist/generated/client/models/DocumentationPhase.d.ts +13 -13
- package/dist/generated/client/models/OfferLetter.d.ts +97 -97
- package/dist/generated/client/models/PaymentInstallment.d.ts +1660 -0
- package/dist/generated/client/models/PaymentInstallment.js +1 -0
- package/dist/generated/client/models/PaymentMethodChangeRequest.d.ts +103 -103
- package/dist/generated/client/models/PaymentPhase.d.ts +40 -40
- package/dist/generated/client/models/PropertyPaymentMethod.d.ts +77 -77
- package/dist/generated/client/models/PropertyTransferRequest.d.ts +213 -213
- package/dist/generated/client/models/PropertyUnit.d.ts +53 -53
- package/dist/generated/client/models/QuestionnairePhase.d.ts +11 -11
- package/dist/generated/client/models/Tenant.d.ts +323 -323
- package/dist/generated/client/models/User.d.ts +1329 -1329
- package/dist/generated/client/models/index.d.ts +8 -8
- package/dist/generated/client/models/index.js +8 -8
- package/dist/generated/client/models.d.ts +8 -8
- package/dist/src/auth/policy-evaluator.d.ts +5 -5
- package/dist/src/auth/policy-evaluator.js +7 -7
- package/dist/src/events/notifications/notification-enums.d.ts +5 -5
- package/dist/src/events/notifications/notification-enums.js +6 -6
- package/dist/src/events/payments/payment-event.d.ts +2 -2
- package/dist/src/events/payments/payment-publisher.d.ts +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260112080730_rename_contract_to_application/migration.sql +293 -0
- package/prisma/migrations/20260112081422_cleanup_rename_contract_to_application/migration.sql +14 -0
- package/prisma/schema.prisma +107 -107
- package/prisma/schema.prisma.backup +2601 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export * from './Amenity';
|
|
2
2
|
export * from './ApiKey';
|
|
3
|
+
export * from './Application';
|
|
4
|
+
export * from './ApplicationDocument';
|
|
5
|
+
export * from './ApplicationEvent';
|
|
6
|
+
export * from './ApplicationPayment';
|
|
7
|
+
export * from './ApplicationPhase';
|
|
8
|
+
export * from './ApplicationRefund';
|
|
9
|
+
export * from './ApplicationTermination';
|
|
3
10
|
export * from './ApprovalRequest';
|
|
4
|
-
export * from './Contract';
|
|
5
|
-
export * from './ContractDocument';
|
|
6
|
-
export * from './ContractEvent';
|
|
7
|
-
export * from './ContractInstallment';
|
|
8
|
-
export * from './ContractPayment';
|
|
9
|
-
export * from './ContractPhase';
|
|
10
|
-
export * from './ContractRefund';
|
|
11
|
-
export * from './ContractTermination';
|
|
12
11
|
export * from './DeviceEndpoint';
|
|
13
12
|
export * from './DocumentRequirementRule';
|
|
14
13
|
export * from './DocumentTemplate';
|
|
@@ -25,6 +24,7 @@ export * from './EventType';
|
|
|
25
24
|
export * from './OAuthState';
|
|
26
25
|
export * from './OfferLetter';
|
|
27
26
|
export * from './PasswordReset';
|
|
27
|
+
export * from './PaymentInstallment';
|
|
28
28
|
export * from './PaymentMethodChangeRequest';
|
|
29
29
|
export * from './PaymentMethodPhaseDocument';
|
|
30
30
|
export * from './PaymentMethodPhaseField';
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export * from './Amenity';
|
|
2
2
|
export * from './ApiKey';
|
|
3
|
+
export * from './Application';
|
|
4
|
+
export * from './ApplicationDocument';
|
|
5
|
+
export * from './ApplicationEvent';
|
|
6
|
+
export * from './ApplicationPayment';
|
|
7
|
+
export * from './ApplicationPhase';
|
|
8
|
+
export * from './ApplicationRefund';
|
|
9
|
+
export * from './ApplicationTermination';
|
|
3
10
|
export * from './ApprovalRequest';
|
|
4
|
-
export * from './Contract';
|
|
5
|
-
export * from './ContractDocument';
|
|
6
|
-
export * from './ContractEvent';
|
|
7
|
-
export * from './ContractInstallment';
|
|
8
|
-
export * from './ContractPayment';
|
|
9
|
-
export * from './ContractPhase';
|
|
10
|
-
export * from './ContractRefund';
|
|
11
|
-
export * from './ContractTermination';
|
|
12
11
|
export * from './DeviceEndpoint';
|
|
13
12
|
export * from './DocumentRequirementRule';
|
|
14
13
|
export * from './DocumentTemplate';
|
|
@@ -25,6 +24,7 @@ export * from './EventType';
|
|
|
25
24
|
export * from './OAuthState';
|
|
26
25
|
export * from './OfferLetter';
|
|
27
26
|
export * from './PasswordReset';
|
|
27
|
+
export * from './PaymentInstallment';
|
|
28
28
|
export * from './PaymentMethodChangeRequest';
|
|
29
29
|
export * from './PaymentMethodPhaseDocument';
|
|
30
30
|
export * from './PaymentMethodPhaseField';
|
|
@@ -34,23 +34,23 @@ export type * from './models/PaymentMethodPhaseStep.js';
|
|
|
34
34
|
export type * from './models/StepEventAttachment.js';
|
|
35
35
|
export type * from './models/PaymentMethodPhaseDocument.js';
|
|
36
36
|
export type * from './models/PaymentMethodPhaseField.js';
|
|
37
|
-
export type * from './models/
|
|
38
|
-
export type * from './models/
|
|
39
|
-
export type * from './models/
|
|
37
|
+
export type * from './models/Application.js';
|
|
38
|
+
export type * from './models/ApplicationRefund.js';
|
|
39
|
+
export type * from './models/ApplicationPhase.js';
|
|
40
40
|
export type * from './models/QuestionnairePhase.js';
|
|
41
41
|
export type * from './models/DocumentationPhase.js';
|
|
42
42
|
export type * from './models/PaymentPhase.js';
|
|
43
43
|
export type * from './models/QuestionnaireField.js';
|
|
44
|
-
export type * from './models/
|
|
44
|
+
export type * from './models/ApplicationEvent.js';
|
|
45
45
|
export type * from './models/DocumentationStep.js';
|
|
46
46
|
export type * from './models/DocumentationStepDocument.js';
|
|
47
47
|
export type * from './models/DocumentationStepApproval.js';
|
|
48
|
-
export type * from './models/
|
|
49
|
-
export type * from './models/
|
|
50
|
-
export type * from './models/
|
|
48
|
+
export type * from './models/PaymentInstallment.js';
|
|
49
|
+
export type * from './models/ApplicationPayment.js';
|
|
50
|
+
export type * from './models/ApplicationDocument.js';
|
|
51
51
|
export type * from './models/DocumentTemplate.js';
|
|
52
52
|
export type * from './models/OfferLetter.js';
|
|
53
|
-
export type * from './models/
|
|
53
|
+
export type * from './models/ApplicationTermination.js';
|
|
54
54
|
export type * from './models/PaymentMethodChangeRequest.js';
|
|
55
55
|
export type * from './models/DocumentRequirementRule.js';
|
|
56
56
|
export type * from './models/EventChannel.js';
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
* Policy evaluation utilities for scope-based authorization
|
|
3
3
|
*
|
|
4
4
|
* Scopes follow a resource:action pattern with wildcard support:
|
|
5
|
-
* - "
|
|
6
|
-
* - "
|
|
5
|
+
* - "application:read" - specific action on specific resource
|
|
6
|
+
* - "application:*" - all actions on contracts
|
|
7
7
|
* - "*" - superuser access
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
11
|
* import { hasScope, requireScope } from '@valentine-efagene/qshelter-common';
|
|
12
12
|
*
|
|
13
|
-
* const scopes = ['
|
|
13
|
+
* const scopes = ['application:read', 'payment:*'];
|
|
14
14
|
*
|
|
15
|
-
* hasScope(scopes, '
|
|
15
|
+
* hasScope(scopes, 'application:read'); // true
|
|
16
16
|
* hasScope(scopes, 'payment:create'); // true (wildcard match)
|
|
17
17
|
* hasScope(scopes, 'user:read'); // false
|
|
18
18
|
*
|
|
19
|
-
* requireScope(scopes, '
|
|
19
|
+
* requireScope(scopes, 'application:read'); // passes
|
|
20
20
|
* requireScope(scopes, 'user:read'); // throws 403 error
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
* Policy evaluation utilities for scope-based authorization
|
|
3
3
|
*
|
|
4
4
|
* Scopes follow a resource:action pattern with wildcard support:
|
|
5
|
-
* - "
|
|
6
|
-
* - "
|
|
5
|
+
* - "application:read" - specific action on specific resource
|
|
6
|
+
* - "application:*" - all actions on contracts
|
|
7
7
|
* - "*" - superuser access
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
11
|
* import { hasScope, requireScope } from '@valentine-efagene/qshelter-common';
|
|
12
12
|
*
|
|
13
|
-
* const scopes = ['
|
|
13
|
+
* const scopes = ['application:read', 'payment:*'];
|
|
14
14
|
*
|
|
15
|
-
* hasScope(scopes, '
|
|
15
|
+
* hasScope(scopes, 'application:read'); // true
|
|
16
16
|
* hasScope(scopes, 'payment:create'); // true (wildcard match)
|
|
17
17
|
* hasScope(scopes, 'user:read'); // false
|
|
18
18
|
*
|
|
19
|
-
* requireScope(scopes, '
|
|
19
|
+
* requireScope(scopes, 'application:read'); // passes
|
|
20
20
|
* requireScope(scopes, 'user:read'); // throws 403 error
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
@@ -40,9 +40,9 @@ export function hasScope(scopes, required) {
|
|
|
40
40
|
// Exact match
|
|
41
41
|
if (s === required)
|
|
42
42
|
return true;
|
|
43
|
-
// Wildcard match: "
|
|
43
|
+
// Wildcard match: "application:*" matches "application:read"
|
|
44
44
|
if (s.endsWith(':*')) {
|
|
45
|
-
const prefix = s.slice(0, -1); // "
|
|
45
|
+
const prefix = s.slice(0, -1); // "application:"
|
|
46
46
|
return required.startsWith(prefix);
|
|
47
47
|
}
|
|
48
48
|
return false;
|
|
@@ -18,11 +18,11 @@ export declare enum NotificationType {
|
|
|
18
18
|
PREQUALIFICATION_SUBMITTED = "prequalificationSubmitted",
|
|
19
19
|
PREQUALIFICATION_APPROVED = "prequalificationApproved",
|
|
20
20
|
PREQUALIFICATION_REJECTED = "prequalificationRejected",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
APPLICATION_CREATED = "applicationCreated",
|
|
22
|
+
APPLICATION_ACTIVATED = "applicationActivated",
|
|
23
|
+
APPLICATION_TERMINATION_REQUESTED = "applicationTerminationRequested",
|
|
24
|
+
APPLICATION_TERMINATION_APPROVED = "applicationTerminationApproved",
|
|
25
|
+
APPLICATION_TERMINATED = "applicationTerminated",
|
|
26
26
|
OFFER_LETTER_SENT = "offerLetterSent",
|
|
27
27
|
OFFER_LETTER_SIGNED = "offerLetterSigned",
|
|
28
28
|
OFFER_LETTER_EXPIRED = "offerLetterExpired",
|
|
@@ -24,12 +24,12 @@ export var NotificationType;
|
|
|
24
24
|
NotificationType["PREQUALIFICATION_SUBMITTED"] = "prequalificationSubmitted";
|
|
25
25
|
NotificationType["PREQUALIFICATION_APPROVED"] = "prequalificationApproved";
|
|
26
26
|
NotificationType["PREQUALIFICATION_REJECTED"] = "prequalificationRejected";
|
|
27
|
-
//
|
|
28
|
-
NotificationType["
|
|
29
|
-
NotificationType["
|
|
30
|
-
NotificationType["
|
|
31
|
-
NotificationType["
|
|
32
|
-
NotificationType["
|
|
27
|
+
// Application
|
|
28
|
+
NotificationType["APPLICATION_CREATED"] = "applicationCreated";
|
|
29
|
+
NotificationType["APPLICATION_ACTIVATED"] = "applicationActivated";
|
|
30
|
+
NotificationType["APPLICATION_TERMINATION_REQUESTED"] = "applicationTerminationRequested";
|
|
31
|
+
NotificationType["APPLICATION_TERMINATION_APPROVED"] = "applicationTerminationApproved";
|
|
32
|
+
NotificationType["APPLICATION_TERMINATED"] = "applicationTerminated";
|
|
33
33
|
// Offer Letters
|
|
34
34
|
NotificationType["OFFER_LETTER_SENT"] = "offerLetterSent";
|
|
35
35
|
NotificationType["OFFER_LETTER_SIGNED"] = "offerLetterSigned";
|
|
@@ -53,8 +53,8 @@ export interface WalletCreditedPayload {
|
|
|
53
53
|
export interface AllocateToInstallmentsPayload {
|
|
54
54
|
userId: string;
|
|
55
55
|
walletId: string;
|
|
56
|
-
/** Optional: limit to specific
|
|
57
|
-
|
|
56
|
+
/** Optional: limit to specific application */
|
|
57
|
+
applicationId?: string;
|
|
58
58
|
/** Optional: limit to specific amount */
|
|
59
59
|
maxAmount?: number;
|
|
60
60
|
}
|
|
@@ -39,7 +39,7 @@ export declare class PaymentEventPublisher {
|
|
|
39
39
|
publishAllocateToInstallments(payload: {
|
|
40
40
|
userId: string;
|
|
41
41
|
walletId: string;
|
|
42
|
-
|
|
42
|
+
applicationId?: string;
|
|
43
43
|
maxAmount?: number;
|
|
44
44
|
}, meta?: Partial<PaymentEventMeta>): Promise<string>;
|
|
45
45
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
-- Safe Migration: Rename Contract to Application
|
|
2
|
+
-- This migration uses RENAME TABLE and RENAME COLUMN to preserve data
|
|
3
|
+
|
|
4
|
+
-- Step 1: Update enum values in approval_requests
|
|
5
|
+
ALTER TABLE `approval_requests` MODIFY `type` ENUM('PROPERTY_TRANSFER', 'PROPERTY_UPDATE', 'USER_WORKFLOW', 'CREDIT_CHECK', 'CONTRACT_TERMINATION', 'APPLICATION_TERMINATION', 'REFUND_APPROVAL') NOT NULL;
|
|
6
|
+
UPDATE `approval_requests` SET `type` = 'APPLICATION_TERMINATION' WHERE `type` = 'CONTRACT_TERMINATION';
|
|
7
|
+
ALTER TABLE `approval_requests` MODIFY `type` ENUM('PROPERTY_TRANSFER', 'PROPERTY_UPDATE', 'USER_WORKFLOW', 'CREDIT_CHECK', 'APPLICATION_TERMINATION', 'REFUND_APPROVAL') NOT NULL;
|
|
8
|
+
|
|
9
|
+
-- Step 2: Update enum values in document_requirement_rules
|
|
10
|
+
ALTER TABLE `document_requirement_rules` MODIFY `context` ENUM('CONTRACT_PHASE', 'APPLICATION_PHASE', 'PAYMENT_METHOD_CHANGE') NOT NULL;
|
|
11
|
+
UPDATE `document_requirement_rules` SET `context` = 'APPLICATION_PHASE' WHERE `context` = 'CONTRACT_PHASE';
|
|
12
|
+
ALTER TABLE `document_requirement_rules` MODIFY `context` ENUM('APPLICATION_PHASE', 'PAYMENT_METHOD_CHANGE') NOT NULL;
|
|
13
|
+
|
|
14
|
+
-- Step 3: Drop existing foreign keys that reference contract tables
|
|
15
|
+
-- contracts table foreign keys
|
|
16
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_tenantId_fkey`;
|
|
17
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_propertyUnitId_fkey`;
|
|
18
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_buyerId_fkey`;
|
|
19
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_sellerId_fkey`;
|
|
20
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_paymentMethodId_fkey`;
|
|
21
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_currentPhaseId_fkey`;
|
|
22
|
+
ALTER TABLE `contracts` DROP FOREIGN KEY `contracts_transferredFromId_fkey`;
|
|
23
|
+
|
|
24
|
+
-- contract_phases foreign keys
|
|
25
|
+
ALTER TABLE `contract_phases` DROP FOREIGN KEY `contract_phases_contractId_fkey`;
|
|
26
|
+
|
|
27
|
+
-- contract_events foreign keys
|
|
28
|
+
ALTER TABLE `contract_events` DROP FOREIGN KEY `contract_events_contractId_fkey`;
|
|
29
|
+
|
|
30
|
+
-- contract_payments foreign keys
|
|
31
|
+
ALTER TABLE `contract_payments` DROP FOREIGN KEY `contract_payments_contractId_fkey`;
|
|
32
|
+
ALTER TABLE `contract_payments` DROP FOREIGN KEY `contract_payments_phaseId_fkey`;
|
|
33
|
+
ALTER TABLE `contract_payments` DROP FOREIGN KEY `contract_payments_installmentId_fkey`;
|
|
34
|
+
ALTER TABLE `contract_payments` DROP FOREIGN KEY `contract_payments_payerId_fkey`;
|
|
35
|
+
|
|
36
|
+
-- contract_documents foreign keys
|
|
37
|
+
ALTER TABLE `contract_documents` DROP FOREIGN KEY `contract_documents_contractId_fkey`;
|
|
38
|
+
ALTER TABLE `contract_documents` DROP FOREIGN KEY `contract_documents_uploadedById_fkey`;
|
|
39
|
+
|
|
40
|
+
-- contract_refunds foreign keys
|
|
41
|
+
ALTER TABLE `contract_refunds` DROP FOREIGN KEY `contract_refunds_tenantId_fkey`;
|
|
42
|
+
ALTER TABLE `contract_refunds` DROP FOREIGN KEY `contract_refunds_contractId_fkey`;
|
|
43
|
+
ALTER TABLE `contract_refunds` DROP FOREIGN KEY `contract_refunds_requestedById_fkey`;
|
|
44
|
+
ALTER TABLE `contract_refunds` DROP FOREIGN KEY `contract_refunds_approvedById_fkey`;
|
|
45
|
+
ALTER TABLE `contract_refunds` DROP FOREIGN KEY `contract_refunds_processedById_fkey`;
|
|
46
|
+
|
|
47
|
+
-- contract_terminations foreign keys
|
|
48
|
+
ALTER TABLE `contract_terminations` DROP FOREIGN KEY `contract_terminations_contractId_fkey`;
|
|
49
|
+
ALTER TABLE `contract_terminations` DROP FOREIGN KEY `contract_terminations_tenantId_fkey`;
|
|
50
|
+
ALTER TABLE `contract_terminations` DROP FOREIGN KEY `contract_terminations_initiatorId_fkey`;
|
|
51
|
+
ALTER TABLE `contract_terminations` DROP FOREIGN KEY `contract_terminations_reviewedBy_fkey`;
|
|
52
|
+
|
|
53
|
+
-- contract_installments foreign keys
|
|
54
|
+
ALTER TABLE `contract_installments` DROP FOREIGN KEY `contract_installments_paymentPhaseId_fkey`;
|
|
55
|
+
|
|
56
|
+
-- other tables referencing contracts
|
|
57
|
+
ALTER TABLE `offer_letters` DROP FOREIGN KEY `offer_letters_contractId_fkey`;
|
|
58
|
+
ALTER TABLE `payment_method_change_requests` DROP FOREIGN KEY `payment_method_change_requests_contractId_fkey`;
|
|
59
|
+
ALTER TABLE `property_transfer_requests` DROP FOREIGN KEY `property_transfer_requests_sourceContractId_fkey`;
|
|
60
|
+
ALTER TABLE `property_transfer_requests` DROP FOREIGN KEY `property_transfer_requests_targetContractId_fkey`;
|
|
61
|
+
|
|
62
|
+
-- questionnaire_phases, documentation_phases, payment_phases reference contract_phases
|
|
63
|
+
ALTER TABLE `questionnaire_phases` DROP FOREIGN KEY `questionnaire_phases_phaseId_fkey`;
|
|
64
|
+
ALTER TABLE `documentation_phases` DROP FOREIGN KEY `documentation_phases_phaseId_fkey`;
|
|
65
|
+
ALTER TABLE `payment_phases` DROP FOREIGN KEY `payment_phases_phaseId_fkey`;
|
|
66
|
+
|
|
67
|
+
-- Step 4: Rename tables
|
|
68
|
+
RENAME TABLE `contracts` TO `applications`;
|
|
69
|
+
RENAME TABLE `contract_phases` TO `application_phases`;
|
|
70
|
+
RENAME TABLE `contract_events` TO `application_events`;
|
|
71
|
+
RENAME TABLE `contract_payments` TO `application_payments`;
|
|
72
|
+
RENAME TABLE `contract_documents` TO `application_documents`;
|
|
73
|
+
RENAME TABLE `contract_refunds` TO `application_refunds`;
|
|
74
|
+
RENAME TABLE `contract_terminations` TO `application_terminations`;
|
|
75
|
+
RENAME TABLE `contract_installments` TO `payment_installments`;
|
|
76
|
+
|
|
77
|
+
-- Step 5: Rename columns in applications table
|
|
78
|
+
ALTER TABLE `applications` CHANGE `contractNumber` `applicationNumber` VARCHAR(191) NOT NULL;
|
|
79
|
+
ALTER TABLE `applications` CHANGE `contractType` `applicationType` VARCHAR(191) NOT NULL;
|
|
80
|
+
|
|
81
|
+
-- Step 6: Rename columns in related tables (contractId -> applicationId)
|
|
82
|
+
ALTER TABLE `application_phases` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
83
|
+
ALTER TABLE `application_events` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
84
|
+
ALTER TABLE `application_payments` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
85
|
+
ALTER TABLE `application_documents` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
86
|
+
ALTER TABLE `application_refunds` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
87
|
+
ALTER TABLE `application_terminations` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
88
|
+
|
|
89
|
+
-- Rename columns in other tables that reference contracts
|
|
90
|
+
ALTER TABLE `offer_letters` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
91
|
+
ALTER TABLE `payment_method_change_requests` CHANGE `contractId` `applicationId` VARCHAR(191) NOT NULL;
|
|
92
|
+
ALTER TABLE `property_transfer_requests` CHANGE `sourceContractId` `sourceApplicationId` VARCHAR(191) NOT NULL;
|
|
93
|
+
ALTER TABLE `property_transfer_requests` CHANGE `targetContractId` `targetApplicationId` VARCHAR(191) NULL;
|
|
94
|
+
|
|
95
|
+
-- Step 7: Update enum for application_events.eventType
|
|
96
|
+
-- First add new values, then update, then remove old values
|
|
97
|
+
ALTER TABLE `application_events` MODIFY `eventType` ENUM(
|
|
98
|
+
'CONTRACT_CREATED', 'CONTRACT_STATE_CHANGED',
|
|
99
|
+
'APPLICATION_CREATED', 'APPLICATION_STATE_CHANGED',
|
|
100
|
+
'PHASE_ACTIVATED', 'PHASE_COMPLETED', 'STEP_COMPLETED', 'STEP_REJECTED',
|
|
101
|
+
'DOCUMENT_SUBMITTED', 'DOCUMENT_APPROVED', 'DOCUMENT_REJECTED',
|
|
102
|
+
'PAYMENT_INITIATED', 'PAYMENT_COMPLETED', 'PAYMENT_FAILED', 'INSTALLMENTS_GENERATED',
|
|
103
|
+
'CONTRACT_SIGNED', 'CONTRACT_TERMINATED', 'CONTRACT_TRANSFERRED',
|
|
104
|
+
'APPLICATION_SIGNED', 'APPLICATION_TERMINATED', 'APPLICATION_TRANSFERRED',
|
|
105
|
+
'UNDERWRITING_COMPLETED', 'OFFER_LETTER_GENERATED'
|
|
106
|
+
) NOT NULL;
|
|
107
|
+
|
|
108
|
+
UPDATE `application_events` SET `eventType` = 'APPLICATION_CREATED' WHERE `eventType` = 'CONTRACT_CREATED';
|
|
109
|
+
UPDATE `application_events` SET `eventType` = 'APPLICATION_STATE_CHANGED' WHERE `eventType` = 'CONTRACT_STATE_CHANGED';
|
|
110
|
+
UPDATE `application_events` SET `eventType` = 'APPLICATION_SIGNED' WHERE `eventType` = 'CONTRACT_SIGNED';
|
|
111
|
+
UPDATE `application_events` SET `eventType` = 'APPLICATION_TERMINATED' WHERE `eventType` = 'CONTRACT_TERMINATED';
|
|
112
|
+
UPDATE `application_events` SET `eventType` = 'APPLICATION_TRANSFERRED' WHERE `eventType` = 'CONTRACT_TRANSFERRED';
|
|
113
|
+
|
|
114
|
+
ALTER TABLE `application_events` MODIFY `eventType` ENUM(
|
|
115
|
+
'APPLICATION_CREATED', 'APPLICATION_STATE_CHANGED',
|
|
116
|
+
'PHASE_ACTIVATED', 'PHASE_COMPLETED', 'STEP_COMPLETED', 'STEP_REJECTED',
|
|
117
|
+
'DOCUMENT_SUBMITTED', 'DOCUMENT_APPROVED', 'DOCUMENT_REJECTED',
|
|
118
|
+
'PAYMENT_INITIATED', 'PAYMENT_COMPLETED', 'PAYMENT_FAILED', 'INSTALLMENTS_GENERATED',
|
|
119
|
+
'APPLICATION_SIGNED', 'APPLICATION_TERMINATED', 'APPLICATION_TRANSFERRED',
|
|
120
|
+
'UNDERWRITING_COMPLETED', 'OFFER_LETTER_GENERATED'
|
|
121
|
+
) NOT NULL;
|
|
122
|
+
|
|
123
|
+
-- Step 8: Drop old indexes
|
|
124
|
+
DROP INDEX `contracts_contractNumber_key` ON `applications`;
|
|
125
|
+
DROP INDEX `contracts_transferredFromId_key` ON `applications`;
|
|
126
|
+
DROP INDEX `contracts_tenantId_idx` ON `applications`;
|
|
127
|
+
DROP INDEX `contracts_propertyUnitId_idx` ON `applications`;
|
|
128
|
+
DROP INDEX `contracts_buyerId_idx` ON `applications`;
|
|
129
|
+
DROP INDEX `contracts_sellerId_idx` ON `applications`;
|
|
130
|
+
DROP INDEX `contracts_paymentMethodId_idx` ON `applications`;
|
|
131
|
+
DROP INDEX `contracts_status_idx` ON `applications`;
|
|
132
|
+
DROP INDEX `contracts_currentPhaseId_idx` ON `applications`;
|
|
133
|
+
|
|
134
|
+
DROP INDEX `contract_phases_contractId_idx` ON `application_phases`;
|
|
135
|
+
DROP INDEX `contract_phases_phaseCategory_idx` ON `application_phases`;
|
|
136
|
+
DROP INDEX `contract_phases_status_idx` ON `application_phases`;
|
|
137
|
+
DROP INDEX `contract_phases_order_idx` ON `application_phases`;
|
|
138
|
+
|
|
139
|
+
DROP INDEX `contract_events_contractId_idx` ON `application_events`;
|
|
140
|
+
DROP INDEX `contract_events_eventType_idx` ON `application_events`;
|
|
141
|
+
DROP INDEX `contract_events_eventGroup_idx` ON `application_events`;
|
|
142
|
+
DROP INDEX `contract_events_occurredAt_idx` ON `application_events`;
|
|
143
|
+
|
|
144
|
+
DROP INDEX `contract_payments_contractId_idx` ON `application_payments`;
|
|
145
|
+
DROP INDEX `contract_payments_phaseId_idx` ON `application_payments`;
|
|
146
|
+
DROP INDEX `contract_payments_installmentId_idx` ON `application_payments`;
|
|
147
|
+
DROP INDEX `contract_payments_payerId_idx` ON `application_payments`;
|
|
148
|
+
DROP INDEX `contract_payments_status_idx` ON `application_payments`;
|
|
149
|
+
DROP INDEX `contract_payments_reference_key` ON `application_payments`;
|
|
150
|
+
DROP INDEX `contract_payments_reference_idx` ON `application_payments`;
|
|
151
|
+
|
|
152
|
+
DROP INDEX `contract_documents_contractId_idx` ON `application_documents`;
|
|
153
|
+
DROP INDEX `contract_documents_phaseId_idx` ON `application_documents`;
|
|
154
|
+
DROP INDEX `contract_documents_stepId_idx` ON `application_documents`;
|
|
155
|
+
DROP INDEX `contract_documents_type_idx` ON `application_documents`;
|
|
156
|
+
DROP INDEX `contract_documents_status_idx` ON `application_documents`;
|
|
157
|
+
|
|
158
|
+
DROP INDEX `contract_refunds_contractId_idx` ON `application_refunds`;
|
|
159
|
+
DROP INDEX `contract_refunds_status_idx` ON `application_refunds`;
|
|
160
|
+
DROP INDEX `contract_refunds_tenantId_idx` ON `application_refunds`;
|
|
161
|
+
DROP INDEX `contract_refunds_requestedById_idx` ON `application_refunds`;
|
|
162
|
+
|
|
163
|
+
DROP INDEX `contract_terminations_contractId_idx` ON `application_terminations`;
|
|
164
|
+
DROP INDEX `contract_terminations_tenantId_idx` ON `application_terminations`;
|
|
165
|
+
DROP INDEX `contract_terminations_status_idx` ON `application_terminations`;
|
|
166
|
+
DROP INDEX `contract_terminations_type_idx` ON `application_terminations`;
|
|
167
|
+
DROP INDEX `contract_terminations_initiatorId_idx` ON `application_terminations`;
|
|
168
|
+
DROP INDEX `contract_terminations_requestedAt_idx` ON `application_terminations`;
|
|
169
|
+
DROP INDEX `contract_terminations_requestNumber_key` ON `application_terminations`;
|
|
170
|
+
DROP INDEX `contract_terminations_idempotencyKey_key` ON `application_terminations`;
|
|
171
|
+
|
|
172
|
+
DROP INDEX `contract_installments_paymentPhaseId_idx` ON `payment_installments`;
|
|
173
|
+
DROP INDEX `contract_installments_dueDate_idx` ON `payment_installments`;
|
|
174
|
+
DROP INDEX `contract_installments_status_idx` ON `payment_installments`;
|
|
175
|
+
|
|
176
|
+
DROP INDEX `offer_letters_contractId_idx` ON `offer_letters`;
|
|
177
|
+
DROP INDEX `payment_method_change_requests_contractId_idx` ON `payment_method_change_requests`;
|
|
178
|
+
DROP INDEX `property_transfer_requests_sourceContractId_idx` ON `property_transfer_requests`;
|
|
179
|
+
DROP INDEX `property_transfer_requests_targetContractId_fkey` ON `property_transfer_requests`;
|
|
180
|
+
|
|
181
|
+
-- Step 9: Create new indexes with new names
|
|
182
|
+
CREATE UNIQUE INDEX `applications_applicationNumber_key` ON `applications`(`applicationNumber`);
|
|
183
|
+
CREATE UNIQUE INDEX `applications_transferredFromId_key` ON `applications`(`transferredFromId`);
|
|
184
|
+
CREATE INDEX `applications_tenantId_idx` ON `applications`(`tenantId`);
|
|
185
|
+
CREATE INDEX `applications_propertyUnitId_idx` ON `applications`(`propertyUnitId`);
|
|
186
|
+
CREATE INDEX `applications_buyerId_idx` ON `applications`(`buyerId`);
|
|
187
|
+
CREATE INDEX `applications_sellerId_idx` ON `applications`(`sellerId`);
|
|
188
|
+
CREATE INDEX `applications_paymentMethodId_idx` ON `applications`(`paymentMethodId`);
|
|
189
|
+
CREATE INDEX `applications_status_idx` ON `applications`(`status`);
|
|
190
|
+
CREATE INDEX `applications_currentPhaseId_idx` ON `applications`(`currentPhaseId`);
|
|
191
|
+
|
|
192
|
+
CREATE INDEX `application_phases_applicationId_idx` ON `application_phases`(`applicationId`);
|
|
193
|
+
CREATE INDEX `application_phases_phaseCategory_idx` ON `application_phases`(`phaseCategory`);
|
|
194
|
+
CREATE INDEX `application_phases_status_idx` ON `application_phases`(`status`);
|
|
195
|
+
CREATE INDEX `application_phases_order_idx` ON `application_phases`(`order`);
|
|
196
|
+
|
|
197
|
+
CREATE INDEX `application_events_applicationId_idx` ON `application_events`(`applicationId`);
|
|
198
|
+
CREATE INDEX `application_events_eventType_idx` ON `application_events`(`eventType`);
|
|
199
|
+
CREATE INDEX `application_events_eventGroup_idx` ON `application_events`(`eventGroup`);
|
|
200
|
+
CREATE INDEX `application_events_occurredAt_idx` ON `application_events`(`occurredAt`);
|
|
201
|
+
|
|
202
|
+
CREATE INDEX `application_payments_applicationId_idx` ON `application_payments`(`applicationId`);
|
|
203
|
+
CREATE INDEX `application_payments_phaseId_idx` ON `application_payments`(`phaseId`);
|
|
204
|
+
CREATE INDEX `application_payments_installmentId_idx` ON `application_payments`(`installmentId`);
|
|
205
|
+
CREATE INDEX `application_payments_payerId_idx` ON `application_payments`(`payerId`);
|
|
206
|
+
CREATE INDEX `application_payments_status_idx` ON `application_payments`(`status`);
|
|
207
|
+
CREATE UNIQUE INDEX `application_payments_reference_key` ON `application_payments`(`reference`);
|
|
208
|
+
CREATE INDEX `application_payments_reference_idx` ON `application_payments`(`reference`);
|
|
209
|
+
|
|
210
|
+
CREATE INDEX `application_documents_applicationId_idx` ON `application_documents`(`applicationId`);
|
|
211
|
+
CREATE INDEX `application_documents_phaseId_idx` ON `application_documents`(`phaseId`);
|
|
212
|
+
CREATE INDEX `application_documents_stepId_idx` ON `application_documents`(`stepId`);
|
|
213
|
+
CREATE INDEX `application_documents_type_idx` ON `application_documents`(`type`);
|
|
214
|
+
CREATE INDEX `application_documents_status_idx` ON `application_documents`(`status`);
|
|
215
|
+
|
|
216
|
+
CREATE INDEX `application_refunds_applicationId_idx` ON `application_refunds`(`applicationId`);
|
|
217
|
+
CREATE INDEX `application_refunds_status_idx` ON `application_refunds`(`status`);
|
|
218
|
+
CREATE INDEX `application_refunds_tenantId_idx` ON `application_refunds`(`tenantId`);
|
|
219
|
+
CREATE INDEX `application_refunds_requestedById_idx` ON `application_refunds`(`requestedById`);
|
|
220
|
+
|
|
221
|
+
CREATE INDEX `application_terminations_applicationId_idx` ON `application_terminations`(`applicationId`);
|
|
222
|
+
CREATE INDEX `application_terminations_tenantId_idx` ON `application_terminations`(`tenantId`);
|
|
223
|
+
CREATE INDEX `application_terminations_status_idx` ON `application_terminations`(`status`);
|
|
224
|
+
CREATE INDEX `application_terminations_type_idx` ON `application_terminations`(`type`);
|
|
225
|
+
CREATE INDEX `application_terminations_initiatorId_idx` ON `application_terminations`(`initiatorId`);
|
|
226
|
+
CREATE INDEX `application_terminations_requestedAt_idx` ON `application_terminations`(`requestedAt`);
|
|
227
|
+
CREATE UNIQUE INDEX `application_terminations_requestNumber_key` ON `application_terminations`(`requestNumber`);
|
|
228
|
+
CREATE UNIQUE INDEX `application_terminations_idempotencyKey_key` ON `application_terminations`(`idempotencyKey`);
|
|
229
|
+
|
|
230
|
+
CREATE INDEX `payment_installments_paymentPhaseId_idx` ON `payment_installments`(`paymentPhaseId`);
|
|
231
|
+
CREATE INDEX `payment_installments_dueDate_idx` ON `payment_installments`(`dueDate`);
|
|
232
|
+
CREATE INDEX `payment_installments_status_idx` ON `payment_installments`(`status`);
|
|
233
|
+
|
|
234
|
+
CREATE INDEX `offer_letters_applicationId_idx` ON `offer_letters`(`applicationId`);
|
|
235
|
+
CREATE INDEX `payment_method_change_requests_applicationId_idx` ON `payment_method_change_requests`(`applicationId`);
|
|
236
|
+
CREATE INDEX `property_transfer_requests_sourceApplicationId_idx` ON `property_transfer_requests`(`sourceApplicationId`);
|
|
237
|
+
|
|
238
|
+
-- Step 10: Recreate foreign keys with new names
|
|
239
|
+
-- applications table
|
|
240
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
241
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_propertyUnitId_fkey` FOREIGN KEY (`propertyUnitId`) REFERENCES `property_units`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
242
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_buyerId_fkey` FOREIGN KEY (`buyerId`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
243
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_sellerId_fkey` FOREIGN KEY (`sellerId`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
244
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_paymentMethodId_fkey` FOREIGN KEY (`paymentMethodId`) REFERENCES `property_payment_methods`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
245
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_currentPhaseId_fkey` FOREIGN KEY (`currentPhaseId`) REFERENCES `application_phases`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
246
|
+
ALTER TABLE `applications` ADD CONSTRAINT `applications_transferredFromId_fkey` FOREIGN KEY (`transferredFromId`) REFERENCES `applications`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
247
|
+
|
|
248
|
+
-- application_phases
|
|
249
|
+
ALTER TABLE `application_phases` ADD CONSTRAINT `application_phases_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
250
|
+
|
|
251
|
+
-- questionnaire_phases, documentation_phases, payment_phases
|
|
252
|
+
ALTER TABLE `questionnaire_phases` ADD CONSTRAINT `questionnaire_phases_phaseId_fkey` FOREIGN KEY (`phaseId`) REFERENCES `application_phases`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
253
|
+
ALTER TABLE `documentation_phases` ADD CONSTRAINT `documentation_phases_phaseId_fkey` FOREIGN KEY (`phaseId`) REFERENCES `application_phases`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
254
|
+
ALTER TABLE `payment_phases` ADD CONSTRAINT `payment_phases_phaseId_fkey` FOREIGN KEY (`phaseId`) REFERENCES `application_phases`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
255
|
+
|
|
256
|
+
-- application_events
|
|
257
|
+
ALTER TABLE `application_events` ADD CONSTRAINT `application_events_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
258
|
+
|
|
259
|
+
-- payment_installments
|
|
260
|
+
ALTER TABLE `payment_installments` ADD CONSTRAINT `payment_installments_paymentPhaseId_fkey` FOREIGN KEY (`paymentPhaseId`) REFERENCES `payment_phases`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
261
|
+
|
|
262
|
+
-- application_payments
|
|
263
|
+
ALTER TABLE `application_payments` ADD CONSTRAINT `application_payments_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
264
|
+
ALTER TABLE `application_payments` ADD CONSTRAINT `application_payments_phaseId_fkey` FOREIGN KEY (`phaseId`) REFERENCES `application_phases`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
265
|
+
ALTER TABLE `application_payments` ADD CONSTRAINT `application_payments_installmentId_fkey` FOREIGN KEY (`installmentId`) REFERENCES `payment_installments`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
266
|
+
ALTER TABLE `application_payments` ADD CONSTRAINT `application_payments_payerId_fkey` FOREIGN KEY (`payerId`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
267
|
+
|
|
268
|
+
-- application_documents
|
|
269
|
+
ALTER TABLE `application_documents` ADD CONSTRAINT `application_documents_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
270
|
+
ALTER TABLE `application_documents` ADD CONSTRAINT `application_documents_uploadedById_fkey` FOREIGN KEY (`uploadedById`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
271
|
+
|
|
272
|
+
-- application_refunds
|
|
273
|
+
ALTER TABLE `application_refunds` ADD CONSTRAINT `application_refunds_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
274
|
+
ALTER TABLE `application_refunds` ADD CONSTRAINT `application_refunds_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
275
|
+
ALTER TABLE `application_refunds` ADD CONSTRAINT `application_refunds_requestedById_fkey` FOREIGN KEY (`requestedById`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
276
|
+
ALTER TABLE `application_refunds` ADD CONSTRAINT `application_refunds_approvedById_fkey` FOREIGN KEY (`approvedById`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
277
|
+
ALTER TABLE `application_refunds` ADD CONSTRAINT `application_refunds_processedById_fkey` FOREIGN KEY (`processedById`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
278
|
+
|
|
279
|
+
-- application_terminations
|
|
280
|
+
ALTER TABLE `application_terminations` ADD CONSTRAINT `application_terminations_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
281
|
+
ALTER TABLE `application_terminations` ADD CONSTRAINT `application_terminations_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
282
|
+
ALTER TABLE `application_terminations` ADD CONSTRAINT `application_terminations_initiatorId_fkey` FOREIGN KEY (`initiatorId`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
283
|
+
ALTER TABLE `application_terminations` ADD CONSTRAINT `application_terminations_reviewedBy_fkey` FOREIGN KEY (`reviewedBy`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
284
|
+
|
|
285
|
+
-- offer_letters
|
|
286
|
+
ALTER TABLE `offer_letters` ADD CONSTRAINT `offer_letters_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
287
|
+
|
|
288
|
+
-- payment_method_change_requests
|
|
289
|
+
ALTER TABLE `payment_method_change_requests` ADD CONSTRAINT `payment_method_change_requests_applicationId_fkey` FOREIGN KEY (`applicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
290
|
+
|
|
291
|
+
-- property_transfer_requests
|
|
292
|
+
ALTER TABLE `property_transfer_requests` ADD CONSTRAINT `property_transfer_requests_sourceApplicationId_fkey` FOREIGN KEY (`sourceApplicationId`) REFERENCES `applications`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
293
|
+
ALTER TABLE `property_transfer_requests` ADD CONSTRAINT `property_transfer_requests_targetApplicationId_fkey` FOREIGN KEY (`targetApplicationId`) REFERENCES `applications`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Warnings:
|
|
3
|
+
|
|
4
|
+
- You are about to drop the column `contractSnapshot` on the `application_terminations` table. All the data in the column will be lost.
|
|
5
|
+
- You are about to drop the column `totalContractAmount` on the `application_terminations` table. All the data in the column will be lost.
|
|
6
|
+
- Added the required column `applicationSnapshot` to the `application_terminations` table without a default value. This is not possible if the table is not empty.
|
|
7
|
+
- Added the required column `totalApplicationAmount` to the `application_terminations` table without a default value. This is not possible if the table is not empty.
|
|
8
|
+
|
|
9
|
+
*/
|
|
10
|
+
-- AlterTable
|
|
11
|
+
ALTER TABLE `application_terminations` DROP COLUMN `contractSnapshot`,
|
|
12
|
+
DROP COLUMN `totalContractAmount`,
|
|
13
|
+
ADD COLUMN `applicationSnapshot` JSON NOT NULL,
|
|
14
|
+
ADD COLUMN `totalApplicationAmount` DOUBLE NOT NULL;
|