diff --git a/.gitignore b/.gitignore index 78cff21..019f162 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ lerna-debug.log* # Tests /coverage /.nyc_output +junit.xml # IDEs and editors /.idea diff --git a/TESTING.md b/TESTING.md new file mode 100644 index 0000000..39a0327 --- /dev/null +++ b/TESTING.md @@ -0,0 +1,87 @@ +# Testing Guide + +## Overview +Jest with `@nestjs/testing` is used for unit and lightweight integration tests. Tests focus on isolating controllers, services, DTO validation, and module wiring without hitting external systems such as databases or the filesystem. + +## Running Tests +- `pnpm test` — run all specs once +- `pnpm test:watch` — watch mode during development +- `pnpm test:cov` — generate coverage report +- `pnpm test:debug` — start Jest in debug/inspect mode + +## Test Structure +- Tests live alongside source files and are named `*.spec.ts`. +- Use `describe` blocks per class or function and keep expectations close to the behavior under test. +- Mock framework dependencies (e.g., `DbService`, `SqlLoaderService`) to avoid side effects. + +## Writing Tests for SFDC Endpoints +- **Controllers:** mock services, assert route handlers pass through parameters and propagate errors. +- **Services:** mock `DbService` and `SqlLoaderService`; verify parameter ordering and validation paths. +- **DTOs:** leverage `class-validator` with `validate()` to assert decorator behavior and data transforms. +- **Modules:** use `Test.createTestingModule` to ensure providers/controllers are registered and injectable. + +## Mock Data +Reusable fixtures live under `src/reports/sfdc/test-helpers`. Share mock responses and query DTOs across controller, service, and DTO specs to keep assertions consistent. + +## Best Practices +- Reset mocks in `beforeEach` to avoid cross-test leakage. +- Cover happy paths and error cases, especially validation failures. +- Prefer deterministic data; avoid randomness and timers. +- Keep assertions focused—each test should validate one behavior. + +## Example Patterns +```ts +const mockDb = { query: jest.fn() }; +const moduleRef = await Test.createTestingModule({ + providers: [{ provide: DbService, useValue: mockDb }, SfdcReportsService], +}).compile(); +``` + +```ts +const dto = plainToInstance(ChallengesReportQueryDto, input); +const errors = await validate(dto); +expect(errors).toHaveLength(0); +``` + +## CI/CD Integration +- Ensure `pnpm test` and `pnpm test:cov` run cleanly in CI; failing tests should block deployments. +- Coverage output is written to `coverage/` and should be ignored from commits by default. + +## Coverage for SFDC Endpoints + +All SFDC report endpoints (`/challenges`, `/payments`, `/taas/*`, `/ba-fees`) should have: +- **Controller tests**: Route handling, parameter transforms, error propagation +- **Service tests**: SQL loading, parameter ordering (verify all query params), filter logic (include/exclude via `multiValueArrayFilter`), empty results, error handling +- **DTO tests**: All validators (`@IsString`, `@IsDateString`, `@IsNumber`, etc.), transforms (`transformArray`, `transformToNumber`), optional fields, invalid input rejection + +Example service test for parameter ordering: +```ts +it('passes all filters in correct order', async () => { + await service.getPaymentsReport({ + billingAccountIds: ['12345'], + challengeIds: ['uuid1'], + handles: ['user1'], + challengeName: 'Task', + startDate: '2023-01-01', + endDate: '2023-12-31', + minPaymentAmount: 100, + maxPaymentAmount: 1000, + challengeStatus: ['COMPLETED'] + }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSql, [ + ['12345'], // include billing accounts + undefined, // exclude billing accounts + ['uuid1'], // challenge IDs + ['user1'], // handles + 'Task', // challenge name + '2023-01-01', // start date + '2023-12-31', // end date + 100, // min amount + 1000, // max amount + ['COMPLETED'] // challenge status + ]); +}); +``` + +Refer to `sfdc-reports.controller.spec.ts`, `sfdc-reports.service.spec.ts`, and `sfdc-reports.dto.spec.ts` for complete patterns. diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..8602f8c --- /dev/null +++ b/jest.config.js @@ -0,0 +1,20 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + rootDir: 'src', + testRegex: '.*\\.spec\\.ts$', + moduleFileExtensions: ['js', 'json', 'ts'], + transform: { + '^.+\\.(t|j)s$': 'ts-jest', + }, + moduleNameMapper: { + '^src/(.*)$': '/$1', + }, + collectCoverageFrom: [ + '**/*.{service,controller,dto}.ts', + '!**/*.spec.ts', + '!**/interfaces/**', + '!**/node_modules/**', + ], + coverageDirectory: '../coverage', +}; diff --git a/package.json b/package.json index cce4958..e5a3084 100644 --- a/package.json +++ b/package.json @@ -9,32 +9,37 @@ "start:prod": "node dist/main.js", "prisma:generate": "prisma generate", "prisma:migrate": "prisma migrate dev", - "lint": "eslint \"src/**/*.ts\" --fix" + "lint": "eslint \"src/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand" }, "dependencies": { - "@nestjs/cli": "^10.3.0", - "@nestjs/common": "^10.0.0", - "@nestjs/config": "^3.2.0", - "@nestjs/core": "^10.0.0", - "@nestjs/platform-express": "^10.0.0", - "@nestjs/swagger": "^11.2.0", - "@prisma/client": "^5.17.0", - "@types/express": "^4.17.21", + "@nestjs/cli": "^11.0.12", + "@nestjs/common": "^11.1.9", + "@nestjs/config": "^4.0.2", + "@nestjs/core": "^11.1.9", + "@nestjs/platform-express": "^11.1.9", + "@nestjs/swagger": "^11.2.3", + "@prisma/client": "^7.0.1", + "@types/express": "^5.0.5", "class-transformer": "^0.5.1", - "class-validator": "^0.14.0", - "date-fns": "^3.6.0", + "class-validator": "^0.14.3", + "date-fns": "^4.1.0", "i18n-iso-countries": "^3.7.1", "json-stringify-safe": "^5.0.1", - "pg": "^8.11.5", + "pg": "^8.16.3", "reflect-metadata": "^0.1.13", - "rxjs": "^7.8.1", - "tc-core-library-js": "github:appirio-tech/tc-core-library-js#v2.6.4" + "rxjs": "^7.8.2", + "tc-core-library-js": "github:appirio-tech/tc-core-library-js#security", + "@nestjs/schematics": "^11.0.9", + "@types/jest": "^29.5.8", + "@nestjs/testing": "^11.1.9" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", - "@nestjs/schematics": "^10.0.0", - "@nestjs/testing": "^10.0.0", "@types/node": "^20.11.24", "@types/pg": "^8.15.5", "@typescript-eslint/eslint-plugin": "^7.13.0", @@ -43,8 +48,10 @@ "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.1.3", "globals": "^16.3.0", + "jest": "^29.7.0", "prettier": "^3.2.5", - "prisma": "^5.17.0", + "prisma": "^7.0.1", + "ts-jest": "^29.1.1", "ts-node": "^10.9.2", "typescript": "^5.4.2", "typescript-eslint": "^8.38.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb8cb62..fee6765 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,38 +9,47 @@ importers: .: dependencies: '@nestjs/cli': - specifier: ^10.3.0 - version: 10.4.9 + specifier: ^11.0.12 + version: 11.0.12(@types/node@20.19.11) '@nestjs/common': - specifier: ^10.0.0 - version: 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) + specifier: ^11.1.9 + version: 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) '@nestjs/config': - specifier: ^3.2.0 - version: 3.3.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(rxjs@7.8.2) + specifier: ^4.0.2 + version: 4.0.2(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(rxjs@7.8.2) '@nestjs/core': - specifier: ^10.0.0 - version: 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@10.4.20)(reflect-metadata@0.1.14)(rxjs@7.8.2) + specifier: ^11.1.9 + version: 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.1.14)(rxjs@7.8.2) '@nestjs/platform-express': - specifier: ^10.0.0 - version: 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20) + specifier: ^11.1.9 + version: 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9) + '@nestjs/schematics': + specifier: ^11.0.9 + version: 11.0.9(chokidar@4.0.3)(typescript@5.9.2) '@nestjs/swagger': - specifier: ^11.2.0 - version: 11.2.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20)(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14) + specifier: ^11.2.3 + version: 11.2.3(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14) + '@nestjs/testing': + specifier: ^11.1.9 + version: 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/platform-express@11.1.9) '@prisma/client': - specifier: ^5.17.0 - version: 5.22.0(prisma@5.22.0) + specifier: ^7.0.1 + version: 7.0.1(prisma@7.0.1(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2))(typescript@5.9.2) '@types/express': - specifier: ^4.17.21 - version: 4.17.23 + specifier: ^5.0.5 + version: 5.0.5 + '@types/jest': + specifier: ^29.5.8 + version: 29.5.14 class-transformer: specifier: ^0.5.1 version: 0.5.1 class-validator: - specifier: ^0.14.0 - version: 0.14.2 + specifier: ^0.14.3 + version: 0.14.3 date-fns: - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^4.1.0 + version: 4.1.0 i18n-iso-countries: specifier: ^3.7.1 version: 3.7.8 @@ -48,17 +57,17 @@ importers: specifier: ^5.0.1 version: 5.0.1 pg: - specifier: ^8.11.5 + specifier: ^8.16.3 version: 8.16.3 reflect-metadata: specifier: ^0.1.13 version: 0.1.14 rxjs: - specifier: ^7.8.1 + specifier: ^7.8.2 version: 7.8.2 tc-core-library-js: - specifier: github:appirio-tech/tc-core-library-js#v2.6.4 - version: https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/df0b36c51cf80918194cbff777214b3c0cf5a151 + specifier: github:appirio-tech/tc-core-library-js#security + version: https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/87058f286c5b12bc8063956901dd641a1163bf9c devDependencies: '@eslint/eslintrc': specifier: ^3.2.0 @@ -66,12 +75,6 @@ importers: '@eslint/js': specifier: ^9.18.0 version: 9.33.0 - '@nestjs/schematics': - specifier: ^10.0.0 - version: 10.2.3(chokidar@3.6.0)(typescript@5.9.2) - '@nestjs/testing': - specifier: ^10.0.0 - version: 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20)(@nestjs/platform-express@10.4.20) '@types/node': specifier: ^20.11.24 version: 20.19.11 @@ -80,28 +83,34 @@ importers: version: 8.15.5 '@typescript-eslint/eslint-plugin': specifier: ^7.13.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.33.0)(typescript@5.9.2))(eslint@9.33.0)(typescript@5.9.2) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^7.13.0 - version: 7.18.0(eslint@9.33.0)(typescript@5.9.2) + version: 7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) eslint: specifier: ^9.18.0 - version: 9.33.0 + version: 9.33.0(jiti@2.6.1) eslint-config-prettier: specifier: ^10.0.1 - version: 10.1.8(eslint@9.33.0) + version: 10.1.8(eslint@9.33.0(jiti@2.6.1)) eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.33.0))(eslint@9.33.0)(prettier@3.6.2) + version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.6.1)))(eslint@9.33.0(jiti@2.6.1))(prettier@3.6.2) globals: specifier: ^16.3.0 version: 16.3.0 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) prettier: specifier: ^3.2.5 version: 3.6.2 prisma: - specifier: ^5.17.0 - version: 5.22.0 + specifier: ^7.0.1 + version: 7.0.1(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2) + ts-jest: + specifier: ^29.1.1 + version: 29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)))(typescript@5.9.2) ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@20.19.11)(typescript@5.9.2) @@ -110,39 +119,221 @@ importers: version: 5.9.2 typescript-eslint: specifier: ^8.38.0 - version: 8.40.0(eslint@9.33.0)(typescript@5.9.2) + version: 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) packages: - '@angular-devkit/core@17.3.11': - resolution: {integrity: sha512-vTNDYNsLIWpYk2I969LMQFH29GTsLzxNk/0cLw5q56ARF0v5sIWfHYwGTS88jdDqIpuuettcSczbxeA7EuAmqQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/core@19.2.17': + resolution: {integrity: sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^4.0.0 + peerDependenciesMeta: + chokidar: + optional: true + + '@angular-devkit/core@19.2.19': + resolution: {integrity: sha512-JbLL+4IMLMBgjLZlnPG4lYDfz4zGrJ/s6Aoon321NJKuw1Kb1k5KpFu9dUY0BqLIe8xPQ2UJBpI+xXdK5MXMHQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - chokidar: ^3.5.2 + chokidar: ^4.0.0 peerDependenciesMeta: chokidar: optional: true - '@angular-devkit/schematics-cli@17.3.11': - resolution: {integrity: sha512-kcOMqp+PHAKkqRad7Zd7PbpqJ0LqLaNZdY1+k66lLWmkEBozgq8v4ASn/puPWf9Bo0HpCiK+EzLf0VHE8Z/y6Q==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/schematics-cli@19.2.19': + resolution: {integrity: sha512-7q9UY6HK6sccL9F3cqGRUwKhM7b/XfD2YcVaZ2WD7VMaRlRm85v6mRjSrfKIAwxcQU0UK27kMc79NIIqaHjzxA==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/schematics@17.3.11': - resolution: {integrity: sha512-I5wviiIqiFwar9Pdk30Lujk8FczEEc18i22A5c6Z9lbmhPQdTroDnEQdsfXjy404wPe8H62s0I15o4pmMGfTYQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/schematics@19.2.17': + resolution: {integrity: sha512-ADfbaBsrG8mBF6Mfs+crKA/2ykB8AJI50Cv9tKmZfwcUcyAdmTr+vVvhsBCfvUAEokigSsgqgpYxfkJVxhJYeg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@angular-devkit/schematics@19.2.19': + resolution: {integrity: sha512-J4Jarr0SohdrHcb40gTL4wGPCQ952IMWF1G/MSAQfBAPvA9ZKApYhpxcY7PmehVePve+ujpus1dGsJ7dPxz8Kg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@borewit/text-codec@0.1.1': resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==} + '@chevrotain/cst-dts-gen@10.5.0': + resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} + + '@chevrotain/gast@10.5.0': + resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==} + + '@chevrotain/types@10.5.0': + resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==} + + '@chevrotain/utils@10.5.0': + resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -151,6 +342,20 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@electric-sql/pglite-socket@0.0.6': + resolution: {integrity: sha512-6RjmgzphIHIBA4NrMGJsjNWK4pu+bCWJlEWlwcxFTVY3WT86dFpKwbZaGWZV6C5Rd7sCk1Z0CI76QEfukLAUXw==} + hasBin: true + peerDependencies: + '@electric-sql/pglite': 0.3.2 + + '@electric-sql/pglite-tools@0.2.7': + resolution: {integrity: sha512-9dAccClqxx4cZB+Ar9B+FZ5WgxDc/Xvl9DPrTWv+dYTf0YNubLzi4wHHRGRGhrJv15XwnyKcGOZAP1VXSneSUg==} + peerDependencies: + '@electric-sql/pglite': 0.3.2 + + '@electric-sql/pglite@0.3.2': + resolution: {integrity: sha512-zfWWa+V2ViDCY/cmUfRqeWY1yLto+EpxjXnZzenB1TyxsTiXaTWeZFIZw6mac52BsuQm0RjCnisjBtdBaXOI6w==} + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -189,6 +394,12 @@ packages: resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@hono/node-server@1.14.2': + resolution: {integrity: sha512-GHjpOeHYbr9d1vkID2sNUYkl5IxumyhDrUJB7wBp7jvqYwPFt+oNKsAPBRcdSbV7kIrXhouLE199ks1QcK4r7A==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -209,13 +420,241 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} + + '@inquirer/checkbox@4.3.2': + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.23': + resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.23': + resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@inquirer/input@4.3.1': + resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.23': + resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.23': + resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.10.1': + resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.3.2': + resolution: {integrity: sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.1.11': + resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.2.2': + resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@4.4.2': + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -232,23 +671,23 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@ljharb/through@2.3.14': - resolution: {integrity: sha512-ajBvlKpWucBB17FuQYUShqpqy8GRgYEpJW0vWJbUu1CV9lWyrDCapy0lScU8T8Z6qn49sSwJB3+M+evYIdGg+A==} - engines: {node: '>= 0.4'} - '@lukeed/csprng@1.1.0': resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} - '@microsoft/tsdoc@0.15.1': - resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} + '@microsoft/tsdoc@0.16.0': + resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - '@nestjs/cli@10.4.9': - resolution: {integrity: sha512-s8qYd97bggqeK7Op3iD49X2MpFtW4LVNLAwXFkfbRxKME6IYT7X0muNTJ2+QfI8hpbNx9isWkrLWIp+g5FOhiA==} - engines: {node: '>= 16.14'} + '@mrleebo/prisma-ast@0.12.1': + resolution: {integrity: sha512-JwqeCQ1U3fvccttHZq7Tk0m/TMC6WcFAQZdukypW3AzlJYKYTGNVd1ANU2GuhKnv4UQuOFj3oAl0LLG/gxFN1w==} + engines: {node: '>=16'} + + '@nestjs/cli@11.0.12': + resolution: {integrity: sha512-V3fD1xESlFcJ1xpwOtUhn0edLvIa76Sx8mkvdR1s8cM4c/rZO+yGmXP30ZQwPfIJPTgBvsw93F/i+87eV96wcQ==} + engines: {node: '>= 20.11'} hasBin: true peerDependencies: - '@swc/cli': ^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 + '@swc/cli': ^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 '@swc/core': ^1.3.62 peerDependenciesMeta: '@swc/cli': @@ -256,11 +695,11 @@ packages: '@swc/core': optional: true - '@nestjs/common@10.4.20': - resolution: {integrity: sha512-hxJxZF7jcKGuUzM9EYbuES80Z/36piJbiqmPy86mk8qOn5gglFebBTvcx7PWVbRNSb4gngASYnefBj/Y2HAzpQ==} + '@nestjs/common@11.1.9': + resolution: {integrity: sha512-zDntUTReRbAThIfSp3dQZ9kKqI+LjgLp5YZN5c1bgNRDuoeLySAoZg46Bg1a+uV8TMgIRziHocglKGNzr6l+bQ==} peerDependencies: - class-transformer: '*' - class-validator: '*' + class-transformer: '>=0.4.1' + class-validator: '>=0.13.2' reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: @@ -269,19 +708,20 @@ packages: class-validator: optional: true - '@nestjs/config@3.3.0': - resolution: {integrity: sha512-pdGTp8m9d0ZCrjTpjkUbZx6gyf2IKf+7zlkrPNMsJzYZ4bFRRTpXrnj+556/5uiI6AfL5mMrJc2u7dB6bvM+VA==} + '@nestjs/config@4.0.2': + resolution: {integrity: sha512-McMW6EXtpc8+CwTUwFdg6h7dYcBUpH5iUILCclAsa+MbCEvC9ZKu4dCHRlJqALuhjLw97pbQu62l4+wRwGeZqA==} peerDependencies: - '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + '@nestjs/common': ^10.0.0 || ^11.0.0 rxjs: ^7.1.0 - '@nestjs/core@10.4.20': - resolution: {integrity: sha512-kRdtyKA3+Tu70N3RQ4JgmO1E3LzAMs/eppj7SfjabC7TgqNWoS4RLhWl4BqmsNVmjj6D5jgfPVtHtgYkU3AfpQ==} + '@nestjs/core@11.1.9': + resolution: {integrity: sha512-a00B0BM4X+9z+t3UxJqIZlemIwCQdYoPKrMcM+ky4z3pkqqG1eTWexjs+YXpGObnLnjtMPVKWlcZHp3adDYvUw==} + engines: {node: '>= 20'} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 - '@nestjs/websockets': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 + '@nestjs/websockets': ^11.0.0 reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: @@ -305,19 +745,19 @@ packages: class-validator: optional: true - '@nestjs/platform-express@10.4.20': - resolution: {integrity: sha512-rh97mX3rimyf4xLMLHuTOBKe6UD8LOJ14VlJ1F/PTd6C6ZK9Ak6EHuJvdaGcSFQhd3ZMBh3I6CuujKGW9pNdIg==} + '@nestjs/platform-express@11.1.9': + resolution: {integrity: sha512-GVd3+0lO0mJq2m1kl9hDDnVrX3Nd4oH3oDfklz0pZEVEVS0KVSp63ufHq2Lu9cyPdSBuelJr9iPm2QQ1yX+Kmw==} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 - '@nestjs/schematics@10.2.3': - resolution: {integrity: sha512-4e8gxaCk7DhBxVUly2PjYL4xC2ifDFexCqq1/u4TtivLGXotVk0wHdYuPYe1tHTHuR1lsOkRbfOCpkdTnigLVg==} + '@nestjs/schematics@11.0.9': + resolution: {integrity: sha512-0NfPbPlEaGwIT8/TCThxLzrlz3yzDNkfRNpbL7FiplKq3w4qXpJg0JYwqgMEJnLQZm3L/L/5XjoyfJHUO3qX9g==} peerDependencies: typescript: '>=4.8.2' - '@nestjs/swagger@11.2.0': - resolution: {integrity: sha512-5wolt8GmpNcrQv34tIPUtPoV1EeFbCetm40Ij3+M0FNNnf2RJ3FyWfuQvI8SBlcJyfaounYVTKzKHreFXsUyOg==} + '@nestjs/swagger@11.2.3': + resolution: {integrity: sha512-a0xFfjeqk69uHIUpP8u0ryn4cKuHdra2Ug96L858i0N200Hxho+n3j+TlQXyOF4EstLSGjTfxI1Xb2E1lUxeNg==} peerDependencies: '@fastify/static': ^8.0.0 '@nestjs/common': ^11.0.1 @@ -333,13 +773,13 @@ packages: class-validator: optional: true - '@nestjs/testing@10.4.20': - resolution: {integrity: sha512-nMkRDukDKskdPruM6EsgMq7yJua+CPZM6I6FrLP8yXw8BiVSPv9Nm0CtcGGwt3kgZF9hfxKjGqLjsvVBsv6Vfw==} + '@nestjs/testing@11.1.9': + resolution: {integrity: sha512-UFxerBDdb0RUNxQNj25pvkvNE7/vxKhXYWBt3QuwBFnYISzRIzhVlyIqLfoV5YI3zV0m0Nn4QAn1KM0zzwfEng==} peerDependencies: - '@nestjs/common': ^10.0.0 - '@nestjs/core': ^10.0.0 - '@nestjs/microservices': ^10.0.0 - '@nestjs/platform-express': ^10.0.0 + '@nestjs/common': ^11.0.0 + '@nestjs/core': ^11.0.0 + '@nestjs/microservices': ^11.0.0 + '@nestjs/platform-express': ^11.0.0 peerDependenciesMeta: '@nestjs/microservices': optional: true @@ -358,57 +798,89 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nuxtjs/opencollective@0.3.2': - resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} + '@nuxt/opencollective@0.4.1': + resolution: {integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==} + engines: {node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0'} hasBin: true - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@pkgr/core@0.2.9': resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@prisma/client@5.22.0': - resolution: {integrity: sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==} - engines: {node: '>=16.13'} + '@prisma/client-runtime-utils@7.0.1': + resolution: {integrity: sha512-R26BVX9D/iw4toUmZKZf3jniM/9pMGHHdZN5LVP2L7HNiCQKNQQx/9LuMtjepbgRqSqQO3oHN0yzojHLnKTGEw==} + + '@prisma/client@7.0.1': + resolution: {integrity: sha512-O74T6xcfaGAq5gXwCAvfTLvI6fmC3and2g5yLRMkNjri1K8mSpEgclDNuUWs9xj5AwNEMQ88NeD3asI+sovm1g==} + engines: {node: ^20.19 || ^22.12 || >=24.0} peerDependencies: prisma: '*' + typescript: '>=5.4.0' peerDependenciesMeta: prisma: optional: true + typescript: + optional: true + + '@prisma/config@7.0.1': + resolution: {integrity: sha512-MacIjXdo+hNKxPvtMzDXykIIc8HCRWoyjQ2nguJTFqLDzJBD5L6QRaANGTLOqbGtJ3sFvLRmfXhrFg3pWoK1BA==} + + '@prisma/debug@6.8.2': + resolution: {integrity: sha512-4muBSSUwJJ9BYth5N8tqts8JtiLT8QI/RSAzEogwEfpbYGFo9mYsInsVo8dqXdPO2+Rm5OG5q0qWDDE3nyUbVg==} - '@prisma/debug@5.22.0': - resolution: {integrity: sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ==} + '@prisma/debug@7.0.1': + resolution: {integrity: sha512-5+25XokVeAK2Z2C9W457AFw7Hk032Q3QI3G58KYKXPlpgxy+9FvV1+S1jqfJ2d4Nmq9LP/uACrM6OVhpJMSr8w==} - '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': - resolution: {integrity: sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==} + '@prisma/dev@0.13.0': + resolution: {integrity: sha512-QMmF6zFeUF78yv1HYbHvod83AQnl7u6NtKyDhTRZOJup3h1icWs8R7RUVxBJZvM2tBXNAMpLQYYM/8kPlOPegA==} - '@prisma/engines@5.22.0': - resolution: {integrity: sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA==} + '@prisma/engines-version@7.1.0-2.f09f2815f091dbba658cdcd2264306d88bb5bda6': + resolution: {integrity: sha512-RA7pShKvijHib4USRB3YuLTQamHKJPkTRDc45AwxfahUQngiGVMlIj4ix4emUxkrum4o/jwn82WIwlG57EtgiQ==} - '@prisma/fetch-engine@5.22.0': - resolution: {integrity: sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA==} + '@prisma/engines@7.0.1': + resolution: {integrity: sha512-f+D/vdKeImqUHysd5Bgv8LQ1whl4sbLepHyYMQQMK61cp4WjwJVryophleLUrfEJRpBLGTBI/7fnLVENxxMFPQ==} - '@prisma/get-platform@5.22.0': - resolution: {integrity: sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q==} + '@prisma/fetch-engine@7.0.1': + resolution: {integrity: sha512-5DnSairYIYU7dcv/9pb1KCwIRHZfhVOd34855d01lUI5QdF9rdCkMywPQbBM67YP7iCgQoEZO0/COtOMpR4i9A==} + + '@prisma/get-platform@6.8.2': + resolution: {integrity: sha512-vXSxyUgX3vm1Q70QwzwkjeYfRryIvKno1SXbIqwSptKwqKzskINnDUcx85oX+ys6ooN2ATGSD0xN2UTfg6Zcow==} + + '@prisma/get-platform@7.0.1': + resolution: {integrity: sha512-DrsGnZOsF7PlAE7UtqmJenWti87RQtg7v9qW9alS71Pj0P6ZQV0RuzRQaql9dCWoo6qKAaF5U/L4kI826MmiZg==} + + '@prisma/query-plan-executor@6.18.0': + resolution: {integrity: sha512-jZ8cfzFgL0jReE1R10gT8JLHtQxjWYLiQ//wHmVYZ2rVkFHoh0DT8IXsxcKcFlfKN7ak7k6j0XMNn2xVNyr5cA==} + + '@prisma/studio-core@0.8.2': + resolution: {integrity: sha512-/iAEWEUpTja+7gVMu1LtR2pPlvDmveAwMHdTWbDeGlT7yiv0ZTCPpmeAGdq/Y9aJ9Zj1cEGBXGRbmmNPj022PQ==} + peerDependencies: + '@types/react': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 '@scarf/scarf@1.4.0': resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} - '@tokenizer/inflate@0.2.7': - resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + + '@tokenizer/inflate@0.3.1': + resolution: {integrity: sha512-4oeoZEBQdLdt5WmP/hx1KZ6D3/Oid/0cUb2nk4F0pTDAWy+KCH3/EnAkZF/bvckWo8I33EqBm01lIPgmgc8rCA==} engines: {node: '>=18'} '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@tootallnate/once@1.1.2': - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -421,6 +893,18 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -436,28 +920,48 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-jwt@0.0.42': - resolution: {integrity: sha512-WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==} - '@types/express-serve-static-core@4.19.6': resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} - '@types/express-unless@2.0.3': - resolution: {integrity: sha512-iJbM7nsyBgnxCrCe7VjWIi4nyyhlaKUl7jxeHDpK+KXk3sYrUZViMkgFv9qSZmxDleB8dfpQR9gK5MGNyM/M6w==} - deprecated: This is a stub types definition. express-unless provides its own type definitions, so you do not need this installed. + '@types/express-serve-static-core@5.1.0': + resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==} '@types/express@4.17.23': resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + '@types/express@5.0.5': + resolution: {integrity: sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/jsonwebtoken@9.0.10': + resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} + '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/node@20.19.11': resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} @@ -470,14 +974,26 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/react@19.2.7': + resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} + '@types/send@0.17.5': resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} '@types/serve-static@1.15.8': resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} - '@types/validator@13.15.2': - resolution: {integrity: sha512-y7pa/oEJJ4iGYBxOpfAKn5b9+xuihvzDVnC/OSvlVnGxVg0pOqmjiMafiJ1KVNQEaPZf9HsEp5icEwGg8uIe5Q==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/validator@13.15.10': + resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.34': + resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} '@typescript-eslint/eslint-plugin@7.18.0': resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} @@ -647,10 +1163,16 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + accepts@2.0.0: + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -665,10 +1187,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -677,6 +1195,14 @@ packages: ajv: optional: true + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -690,9 +1216,6 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -716,10 +1239,18 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -730,12 +1261,12 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -743,31 +1274,40 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + aws-ssl-profiles@1.1.2: + resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} + engines: {node: '>= 6.0.0'} + + axios@0.30.2: + resolution: {integrity: sha512-0pE4RQ4UQi1jKY6p7u6i1Tkzqmu+d+/tHS7Q7rKunWLB9WyilBTpHHpXzPNMDj5hTbK0B0PTLSz07yqMBiF6xg==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 - aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} - axios@0.19.2: - resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} - deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 - babel-runtime@6.6.1: - resolution: {integrity: sha512-5pdhO3jaxqh9L42oBfbrqy58swDhciM47sRGoODURdRxwfiqttEvK87LX27W/PYY6f4cJt2mEdyoLcr/+cM/iw==} + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 backoff@2.5.0: resolution: {integrity: sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==} @@ -779,19 +1319,12 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@2.2.1: + resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} + engines: {node: '>=18'} brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -808,6 +1341,13 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -830,14 +1370,18 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + c12@3.1.0: + resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} @@ -846,36 +1390,54 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + caniuse-lite@1.0.30001735: resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.6.0: - resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chevrotain@10.5.0: + resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + class-transformer@0.5.1: resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==} - class-validator@0.14.2: - resolution: {integrity: sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==} + class-validator@0.14.3: + resolution: {integrity: sha512-rXXekcjofVN1LTOSw+u4u9WXVEUvNBVjORW154q/IdmYWy1nMbOU9aNtZB0t8m+FJQ9q91jlr2f9CwwUFdFMRA==} cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} @@ -889,20 +1451,27 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - codependency@0.1.4: - resolution: {integrity: sha512-26yAvd3+17xSfDADtnzpnL5GK+8+x4QeZ3DegekkHyno6LWeHqXuSU7q8w/IrAur7SY6ISPApOWtWTfuIF0Xpg==} + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + codependency@2.1.0: + resolution: {integrity: sha512-JIdmYkE8Z6jwH1OUf4a5H5jk9YShPQkaYPUAiN+ktyChmPP77LGbeKrxWGPqdCnpTmt0hRIn8TXBVu01U3HDhg==} + + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -922,8 +1491,8 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - comment-json@4.2.5: - resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + comment-json@4.4.1: + resolution: {integrity: sha512-r1To31BQD5060QdkC+Iheai7gHwoSZobzunqkf2/kQ6xIAfJyrKNAFUwdKvkK7Qgu7pVTKQEa7ok7Ed3ycAJgg==} engines: {node: '>= 6'} concat-map@0.0.1: @@ -933,31 +1502,32 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} - consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@1.0.1: + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} + engines: {node: '>=18'} content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} - core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -974,6 +1544,11 @@ packages: typescript: optional: true + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -981,41 +1556,45 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - date-fns@3.6.0: - resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} + dedent@1.7.0: + resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} peerDependencies: - supports-color: '*' + babel-plugin-macros: ^3.1.0 peerDependenciesMeta: - supports-color: + babel-plugin-macros: optional: true deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge-ts@7.1.5: + resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} + engines: {node: '>=16.0.0'} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -1023,21 +1602,31 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -1047,12 +1636,16 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + dotenv-expand@12.0.1: + resolution: {integrity: sha512-LaKRbou8gt0RNID/9RoI+J2rvXsBRPMV7p+ElHlPhcSARbCPDYcYG2s1TIzAfWv4YSgyY5taidWzzs31lNV3yQ==} + engines: {node: '>=12'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dtrace-provider@0.8.8: @@ -1066,27 +1659,31 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + effect@3.18.4: + resolution: {integrity: sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==} + electron-to-chromium@1.5.207: resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} @@ -1114,6 +1711,10 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -1121,9 +1722,9 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -1212,23 +1813,28 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - express-unless@2.1.3: - resolution: {integrity: sha512-wj4tLMyCVYuIIKHGt0FhCtIViBcwzWejX0EjNxveAa6dG+0XBCQhMbx+PnkLkFCxLC69qoFrxds4pIyL88inaQ==} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} - engines: {node: '>= 0.10.0'} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + express@5.1.0: + resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} + engines: {node: '>= 18'} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} + fast-check@3.23.2: + resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} + engines: {node: '>=8.0.0'} fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1255,29 +1861,32 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - file-type@20.4.1: - resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} - engines: {node: '>=18'} + file-type@21.1.0: + resolution: {integrity: sha512-boU4EHmP3JXkwDo4uhyBhTt5pPstxB6eEXKJBu2yu2l7aAMMm7QQYQEzssJmKReZYrFdFOJS8koVo6bXIBGDqA==} + engines: {node: '>=20'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + finalhandler@2.1.0: + resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} engines: {node: '>= 0.8'} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1298,35 +1907,28 @@ packages: debug: optional: true - follow-redirects@1.5.10: - resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} - engines: {node: '>=4.0'} - foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - fork-ts-checker-webpack-plugin@9.0.2: - resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + fork-ts-checker-webpack-plugin@9.1.0: + resolution: {integrity: sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==} + engines: {node: '>=14.21.3'} peerDependencies: typescript: '>3.6.0' webpack: ^5.11.0 - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} @@ -1335,6 +1937,9 @@ packages: fs-monkey@1.1.0: resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1343,16 +1948,39 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1365,14 +1993,19 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + glob@12.0.0: + resolution: {integrity: sha512-5Qcll1z7IKgHr5g485ePDdHcNQY0k2dtv/bjYy0iuyGxQw2qSOiiXUXJ+AYQpg3HNoUMHqAruX478Jeev7UULw==} + engines: {node: 20 || >=22} hasBin: true glob@6.0.4: resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -1392,59 +2025,61 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + grammex@3.1.11: + resolution: {integrity: sha512-HNwLkgRg9SqTAd1N3Uh/MnKwTBTzwBxTOPbXQ8pb0tpwydjk90k4zRE8JUn9fMUiRwKtXFZ1TWFmms3dZHN+Fg==} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - - har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hono@4.7.10: + resolution: {integrity: sha512-QkACju9MiN59CKSY5JsGZCYmPZkA6sIW6OFCUp7qDjZu6S6KHtJHhAc9Uy9mV9F8PJ1/HQ3ybZF2yjCa/73fvQ==} + engines: {node: '>=16.9.0'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} - http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} + http-status-codes@2.3.0: + resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} i18n-iso-countries@3.7.8: resolution: {integrity: sha512-NkT3lRiw7D4kKtSAVjVdHCvGlc2UOe0ALKa9IfEx0LkEDf0q3YgjP/veVk0d/OZ7yqUNzV8aJP4lJc6RPj++Gw==} engines: {node: '>= 4'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} engines: {node: '>=0.10.0'} ieee754@1.2.1: @@ -1462,6 +2097,11 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -1473,14 +2113,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} - - inquirer@9.2.15: - resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==} - engines: {node: '>=18'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1488,9 +2120,9 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -1500,6 +2132,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1512,8 +2148,15 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} @@ -1522,29 +2165,197 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} iterare@1.2.1: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + jose@4.15.9: + resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1558,9 +2369,6 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -1572,28 +2380,22 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonwebtoken@8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} - - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} jwa@1.4.2: resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} - jwks-rsa@1.12.3: - resolution: {integrity: sha512-cFipFDeYYaO9FhhYJcZWX/IyZgc0+g316rcHnDpT2dNRNIE/lMOmWKKqp09TkJoYlNFzrEVODsR4GgXJMgWhnA==} + jwks-rsa@3.2.0: + resolution: {integrity: sha512-PwchfHcQK/5PSydeKCs1ylNym0w/SSv8a62DgHJ//7x2ZclCoinlsjAfDxAAbpoTPybOum/Jgy+vkvMmKz89Ww==} + engines: {node: '>=14'} jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} @@ -1601,6 +2403,14 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1608,16 +2418,28 @@ packages: libphonenumber-js@1.12.13: resolution: {integrity: sha512-QZXnR/OGiDcBjF4hGk0wwVrPcZvbSSyzlvkjXv5LFfktj7O2VZDrt4Xs8SgR/vOFco+qk1i8J43ikMXZoTrtPw==} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + limiter@1.1.5: resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + load-esm@1.0.3: + resolution: {integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==} + engines: {node: '>=13.2.0'} + loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1643,15 +2465,15 @@ packages: lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash@4.17.15: - resolution: {integrity: sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -1659,23 +2481,44 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + lru-memoizer@2.3.0: resolution: {integrity: sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug==} - magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + lru.min@1.1.3: + resolution: {integrity: sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q==} + engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -1684,12 +2527,17 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + media-typer@1.1.0: + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} + memfs@3.5.3: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge-descriptors@2.0.0: + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -1698,10 +2546,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -1713,19 +2557,26 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1747,9 +2598,6 @@ packages: moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1757,17 +2605,22 @@ packages: resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==} engines: {node: '>= 10.16.0'} - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} mv@2.1.1: resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} engines: {node: '>=0.8.0'} + mysql2@3.15.3: + resolution: {integrity: sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==} + engines: {node: '>= 8.0'} + + named-placeholders@1.1.3: + resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} + engines: {node: '>=12.0.0'} + nan@2.23.0: resolution: {integrity: sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==} @@ -1778,8 +2631,8 @@ packages: resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} hasBin: true - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} neo-async@2.6.2: @@ -1791,14 +2644,11 @@ packages: node-emoji@1.11.0: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -1807,8 +2657,14 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nypm@0.6.2: + resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -1818,6 +2674,9 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -1837,18 +2696,26 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -1876,26 +2743,25 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} + engines: {node: 20 || >=22} - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} pg-cloudflare@1.2.7: resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==} @@ -1938,10 +2804,21 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -1962,6 +2839,10 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} + postgres@3.4.7: + resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} + engines: {node: '>=12'} + precond@0.2.3: resolution: {integrity: sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==} engines: {node: '>= 0.6'} @@ -1979,10 +2860,29 @@ packages: engines: {node: '>=14'} hasBin: true - prisma@5.22.0: - resolution: {integrity: sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==} - engines: {node: '>=16.13'} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prisma@7.0.1: + resolution: {integrity: sha512-zp93MdFMSU1IHPEXbUHVUuD8wauh2BUm14OVxhxGrWJQQpXpda0rW4VSST2bci4raoldX64/wQxHKkl/wqDskQ==} + engines: {node: ^20.19 || ^22.12 || >=24.0} hasBin: true + peerDependencies: + better-sqlite3: '>=9.0.0' + typescript: '>=5.4.0' + peerDependenciesMeta: + better-sqlite3: + optional: true + typescript: + optional: true + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -1991,27 +2891,23 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} - engines: {node: '>=0.6'} + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - r7insight_node@1.8.4: - resolution: {integrity: sha512-6cQrzLkaOxdv/SRFXWRJjgFr8a3nXUOT/4IMFuBv+mWzBnu5DJl+HzONAsWYvclrlZnvfa54PaIPqPuPRSlbrQ==} - engines: {iojs: '>=0.10', node: '>=0.8.0', npm: '>=1.4.6'} + r7insight_node@2.1.1: + resolution: {integrity: sha512-xx0kgFxSHWY9aG1109uv4w2b+JLwHseSowOWo1bzCTDBpUk3er2rZdtQ90mAjUYbkh6Hus9DAwWvmHsX5pHaIQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -2020,17 +2916,32 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + react-dom@19.2.0: + resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} + peerDependencies: + react: ^19.2.0 + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react@19.2.0: + resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} + engines: {node: '>=0.10.0'} readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} reconnect-core@1.3.0: resolution: {integrity: sha512-+gLKwmyRf2tjl6bLR03DoeWELzyN6LW9Xgr3vh7NXHHwPi0JC0N2TwPyf90oUEBkCRcD+bgQ+s3HORoG3nwHDg==} @@ -2038,27 +2949,49 @@ packages: reflect-metadata@0.1.14: resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} + regexp-to-ast@0.5.0: + resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} - request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + remeda@2.21.3: + resolution: {integrity: sha512-XXrZdLA10oEOQhLLzEJEiFFSKi21REGAkHdImIb4rt/XXy8ORGXh5HCcpUOsElfPNDb+X6TA/+wkh+p2KffYmg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -2068,13 +3001,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} + router@2.2.0: + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2094,6 +3023,9 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} @@ -2102,37 +3034,37 @@ packages: resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} engines: {node: '>= 10.13.0'} - semver@5.0.1: - resolution: {integrity: sha512-Ne6/HdGZvvpXBdjW3o8J0pvxC2jnmVNBK7MKkMgsOBfrsIdTXfA5x+H9DUbQ2xzyvnLv0A0v9x8R4B40xNZIRQ==} - hasBin: true - - semver@5.1.0: - resolution: {integrity: sha512-sfKXKhcz5XVyfUZa2V4RbjK0xjOJCMLNF9H4p4v0UCo9wNHM/lH9RDuyDbGEtxWLMDlPBc8xI7AbbVLKXty+rQ==} - hasBin: true - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + send@1.2.0: + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} + + seq-queue@0.0.5: + resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + serve-static@2.2.0: + resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} + engines: {node: '>= 18'} setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -2168,10 +3100,16 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -2187,19 +3125,36 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sqlstring@2.3.3: + resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} + engines: {node: '>= 0.6'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2223,6 +3178,14 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -2239,8 +3202,12 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - swagger-ui-dist@5.21.0: - resolution: {integrity: sha512-E0K3AB6HvQd8yQNSMR7eE5bk+323AUxjtCz/4ZNKiahOlPhPJxqn3UPIGs00cyY/dhrTDJ61L7C/a8u6zhGrZg==} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + swagger-ui-dist@5.30.2: + resolution: {integrity: sha512-HWCg1DTNE/Nmapt+0m2EPXFwNKNeKK4PwMjkwveN/zn1cV2Kxi9SURd+m0SpdcSgWEK/O64sf8bzXdtUhigtHA==} symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} @@ -2254,10 +3221,10 @@ packages: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} - tc-core-library-js@https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/df0b36c51cf80918194cbff777214b3c0cf5a151: - resolution: {tarball: https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/df0b36c51cf80918194cbff777214b3c0cf5a151} - version: 2.4.1 - engines: {node: '>= 5'} + tc-core-library-js@https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/87058f286c5b12bc8063956901dd641a1163bf9c: + resolution: {tarball: https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/87058f286c5b12bc8063956901dd641a1163bf9c} + version: 3.0.1 + engines: {node: '>= 14'} terser-webpack-plugin@5.3.14: resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} @@ -2280,12 +3247,16 @@ packages: engines: {node: '>=10'} hasBin: true - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -2299,17 +3270,6 @@ packages: resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} engines: {node: '>=14.16'} - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - ts-api-utils@1.4.3: resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -2322,6 +3282,33 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-jest@29.4.5: + resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 || ^30.0.0 + '@jest/types': ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + esbuild: '*' + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + jest-util: + optional: true + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -2347,24 +3334,30 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} + type-is@2.0.1: + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} + engines: {node: '>= 0.6'} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -2375,16 +3368,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + uid@2.0.2: resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} engines: {node: '>=8'} @@ -2416,29 +3414,31 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - validator@13.15.15: - resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + valibot@1.1.0: + resolution: {integrity: sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + + validator@13.15.23: + resolution: {integrity: sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==} engines: {node: '>= 0.10'} vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} watchpack@2.4.4: resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} @@ -2447,9 +3447,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webpack-node-externals@3.0.0: resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==} engines: {node: '>=6'} @@ -2458,8 +3455,8 @@ packages: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} - webpack@5.97.1: - resolution: {integrity: sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==} + webpack@5.100.2: + resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -2468,9 +3465,6 @@ packages: webpack-cli: optional: true - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2480,6 +3474,9 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -2495,10 +3492,21 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -2506,6 +3514,10 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -2514,35 +3526,64 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + + zeptomatch@2.0.2: + resolution: {integrity: sha512-H33jtSKf8Ijtb5BW6wua3G5DhnFjbFML36eFu+VdOoVY4HD9e7ggjqdM6639B+L87rjnR6Y+XeRzBXZdy52B/g==} + snapshots: - '@angular-devkit/core@17.3.11(chokidar@3.6.0)': + '@angular-devkit/core@19.2.17(chokidar@4.0.3)': dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.1 - picomatch: 4.0.1 + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + jsonc-parser: 3.3.1 + picomatch: 4.0.2 rxjs: 7.8.1 source-map: 0.7.4 optionalDependencies: - chokidar: 3.6.0 + chokidar: 4.0.3 - '@angular-devkit/schematics-cli@17.3.11(chokidar@3.6.0)': + '@angular-devkit/core@19.2.19(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + jsonc-parser: 3.3.1 + picomatch: 4.0.2 + rxjs: 7.8.1 + source-map: 0.7.4 + optionalDependencies: + chokidar: 4.0.3 + + '@angular-devkit/schematics-cli@19.2.19(@types/node@20.19.11)(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) + '@inquirer/prompts': 7.3.2(@types/node@20.19.11) ansi-colors: 4.1.3 - inquirer: 9.2.15 symbol-observable: 4.0.0 yargs-parser: 21.1.1 + transitivePeerDependencies: + - '@types/node' + - chokidar + + '@angular-devkit/schematics@19.2.17(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.17(chokidar@4.0.3) + jsonc-parser: 3.3.1 + magic-string: 0.30.17 + ora: 5.4.1 + rxjs: 7.8.1 transitivePeerDependencies: - chokidar - '@angular-devkit/schematics@17.3.11(chokidar@3.6.0)': + '@angular-devkit/schematics@19.2.19(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - jsonc-parser: 3.2.1 - magic-string: 0.30.8 + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + jsonc-parser: 3.3.1 + magic-string: 0.30.17 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: @@ -2550,14 +3591,210 @@ snapshots: '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-validator-identifier@7.27.1': {} + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bcoe/v8-coverage@0.2.3': {} '@borewit/text-codec@0.1.1': {} + '@chevrotain/cst-dts-gen@10.5.0': + dependencies: + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/gast@10.5.0': + dependencies: + '@chevrotain/types': 10.5.0 + lodash: 4.17.21 + + '@chevrotain/types@10.5.0': {} + + '@chevrotain/utils@10.5.0': {} + '@colors/colors@1.5.0': optional: true @@ -2565,77 +3802,414 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0)': + '@electric-sql/pglite-socket@0.0.6(@electric-sql/pglite@0.3.2)': + dependencies: + '@electric-sql/pglite': 0.3.2 + + '@electric-sql/pglite-tools@0.2.7(@electric-sql/pglite@0.3.2)': + dependencies: + '@electric-sql/pglite': 0.3.2 + + '@electric-sql/pglite@0.3.2': {} + + '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.6.1))': + dependencies: + eslint: 9.33.0(jiti@2.6.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.3.1': {} + + '@eslint/core@0.15.2': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.33.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.5': + dependencies: + '@eslint/core': 0.15.2 + levn: 0.4.1 + + '@hono/node-server@1.14.2(hono@4.7.10)': + dependencies: + hono: 4.7.10 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@inquirer/ansi@1.0.2': {} + + '@inquirer/checkbox@4.3.2(@types/node@20.19.11)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@20.19.11) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/confirm@5.1.21(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/core@10.3.2(@types/node@20.19.11)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@20.19.11) + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/editor@4.2.23(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/external-editor': 1.0.3(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/expand@4.0.23(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/external-editor@1.0.3(@types/node@20.19.11)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.0 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/figures@1.0.15': {} + + '@inquirer/input@4.3.1(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/number@3.0.23(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/password@4.0.23(@types/node@20.19.11)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/prompts@7.10.1(@types/node@20.19.11)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@20.19.11) + '@inquirer/confirm': 5.1.21(@types/node@20.19.11) + '@inquirer/editor': 4.2.23(@types/node@20.19.11) + '@inquirer/expand': 4.0.23(@types/node@20.19.11) + '@inquirer/input': 4.3.1(@types/node@20.19.11) + '@inquirer/number': 3.0.23(@types/node@20.19.11) + '@inquirer/password': 4.0.23(@types/node@20.19.11) + '@inquirer/rawlist': 4.1.11(@types/node@20.19.11) + '@inquirer/search': 3.2.2(@types/node@20.19.11) + '@inquirer/select': 4.4.2(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/prompts@7.3.2(@types/node@20.19.11)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@20.19.11) + '@inquirer/confirm': 5.1.21(@types/node@20.19.11) + '@inquirer/editor': 4.2.23(@types/node@20.19.11) + '@inquirer/expand': 4.0.23(@types/node@20.19.11) + '@inquirer/input': 4.3.1(@types/node@20.19.11) + '@inquirer/number': 3.0.23(@types/node@20.19.11) + '@inquirer/password': 4.0.23(@types/node@20.19.11) + '@inquirer/rawlist': 4.1.11(@types/node@20.19.11) + '@inquirer/search': 3.2.2(@types/node@20.19.11) + '@inquirer/select': 4.4.2(@types/node@20.19.11) + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/rawlist@4.1.11(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/type': 3.0.10(@types/node@20.19.11) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/search@3.2.2(@types/node@20.19.11)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@20.19.11) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/select@4.4.2(@types/node@20.19.11)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@20.19.11) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@20.19.11) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 20.19.11 + + '@inquirer/type@3.0.10(@types/node@20.19.11)': + optionalDependencies: + '@types/node': 20.19.11 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': dependencies: - eslint: 9.33.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} + jest-get-type: 29.6.3 - '@eslint/config-array@0.21.0': + '@jest/expect@29.7.0': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 - minimatch: 3.1.2 + expect: 29.7.0 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.1': {} - - '@eslint/core@0.15.2': + '@jest/fake-timers@29.7.0': dependencies: - '@types/json-schema': 7.0.15 + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.19.11 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 - '@eslint/eslintrc@3.3.1': + '@jest/globals@29.7.0': dependencies: - ajv: 6.12.6 - debug: 4.4.1 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - '@eslint/js@9.33.0': {} - - '@eslint/object-schema@2.1.6': {} - - '@eslint/plugin-kit@0.3.5': + '@jest/reporters@29.7.0': dependencies: - '@eslint/core': 0.15.2 - levn: 0.4.1 + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.30 + '@types/node': 20.19.11 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color - '@humanfs/core@0.19.1': {} + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 - '@humanfs/node@0.16.6': + '@jest/source-map@29.6.3': dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@jridgewell/trace-mapping': 0.3.30 + callsites: 3.1.0 + graceful-fs: 4.2.11 - '@humanwhocodes/module-importer@1.0.1': {} + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 - '@humanwhocodes/retry@0.3.1': {} + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 - '@humanwhocodes/retry@0.4.3': {} + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.28.5 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.30 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color - '@isaacs/cliui@8.0.2': + '@jest/types@29.6.3': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.19.11 + '@types/yargs': 17.0.34 + chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -2655,142 +4229,142 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@ljharb/through@2.3.14': - dependencies: - call-bind: 1.0.8 - '@lukeed/csprng@1.1.0': {} - '@microsoft/tsdoc@0.15.1': {} + '@microsoft/tsdoc@0.16.0': {} - '@nestjs/cli@10.4.9': + '@mrleebo/prisma-ast@0.12.1': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics-cli': 17.3.11(chokidar@3.6.0) - '@nestjs/schematics': 10.2.3(chokidar@3.6.0)(typescript@5.7.2) - chalk: 4.1.2 - chokidar: 3.6.0 + chevrotain: 10.5.0 + lilconfig: 2.1.0 + + '@nestjs/cli@11.0.12(@types/node@20.19.11)': + dependencies: + '@angular-devkit/core': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) + '@angular-devkit/schematics-cli': 19.2.19(@types/node@20.19.11)(chokidar@4.0.3) + '@inquirer/prompts': 7.10.1(@types/node@20.19.11) + '@nestjs/schematics': 11.0.9(chokidar@4.0.3)(typescript@5.9.3) + ansis: 4.2.0 + chokidar: 4.0.3 cli-table3: 0.6.5 commander: 4.1.1 - fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.7.2)(webpack@5.97.1) - glob: 10.4.5 - inquirer: 8.2.6 + fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.9.3)(webpack@5.100.2) + glob: 12.0.0 node-emoji: 1.11.0 ora: 5.4.1 - tree-kill: 1.2.2 tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.2.0 - typescript: 5.7.2 - webpack: 5.97.1 + typescript: 5.9.3 + webpack: 5.100.2 webpack-node-externals: 3.0.0 transitivePeerDependencies: + - '@types/node' - esbuild - uglify-js - webpack-cli - '@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2)': + '@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2)': dependencies: - file-type: 20.4.1 + file-type: 21.1.0 iterare: 1.2.1 + load-esm: 1.0.3 reflect-metadata: 0.1.14 rxjs: 7.8.2 tslib: 2.8.1 uid: 2.0.2 optionalDependencies: class-transformer: 0.5.1 - class-validator: 0.14.2 + class-validator: 0.14.3 transitivePeerDependencies: - supports-color - '@nestjs/config@3.3.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(rxjs@7.8.2)': + '@nestjs/config@4.0.2(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) - dotenv: 16.4.5 - dotenv-expand: 10.0.0 + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) + dotenv: 16.4.7 + dotenv-expand: 12.0.1 lodash: 4.17.21 rxjs: 7.8.2 - '@nestjs/core@10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@10.4.20)(reflect-metadata@0.1.14)(rxjs@7.8.2)': + '@nestjs/core@11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.1.14)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nuxtjs/opencollective': 0.3.2 + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nuxt/opencollective': 0.4.1 fast-safe-stringify: 2.1.1 iterare: 1.2.1 - path-to-regexp: 3.3.0 + path-to-regexp: 8.3.0 reflect-metadata: 0.1.14 rxjs: 7.8.2 tslib: 2.8.1 uid: 2.0.2 optionalDependencies: - '@nestjs/platform-express': 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20) - transitivePeerDependencies: - - encoding + '@nestjs/platform-express': 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9) - '@nestjs/mapped-types@2.1.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)': + '@nestjs/mapped-types@2.1.0(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)': dependencies: - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) reflect-metadata: 0.1.14 optionalDependencies: class-transformer: 0.5.1 - class-validator: 0.14.2 + class-validator: 0.14.3 - '@nestjs/platform-express@10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20)': + '@nestjs/platform-express@11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9)': dependencies: - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@10.4.20)(reflect-metadata@0.1.14)(rxjs@7.8.2) - body-parser: 1.20.3 + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.1.14)(rxjs@7.8.2) cors: 2.8.5 - express: 4.21.2 + express: 5.1.0 multer: 2.0.2 + path-to-regexp: 8.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@nestjs/schematics@10.2.3(chokidar@3.6.0)(typescript@5.7.2)': + '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.2)': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) - comment-json: 4.2.5 + '@angular-devkit/core': 19.2.17(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.17(chokidar@4.0.3) + comment-json: 4.4.1 jsonc-parser: 3.3.1 pluralize: 8.0.0 - typescript: 5.7.2 + typescript: 5.9.2 transitivePeerDependencies: - chokidar - '@nestjs/schematics@10.2.3(chokidar@3.6.0)(typescript@5.9.2)': + '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.3)': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) - comment-json: 4.2.5 + '@angular-devkit/core': 19.2.17(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.17(chokidar@4.0.3) + comment-json: 4.4.1 jsonc-parser: 3.3.1 pluralize: 8.0.0 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - chokidar - '@nestjs/swagger@11.2.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20)(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)': + '@nestjs/swagger@11.2.3(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)': dependencies: - '@microsoft/tsdoc': 0.15.1 - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@10.4.20)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/mapped-types': 2.1.0(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14) - js-yaml: 4.1.0 + '@microsoft/tsdoc': 0.16.0 + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14) + js-yaml: 4.1.1 lodash: 4.17.21 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 reflect-metadata: 0.1.14 - swagger-ui-dist: 5.21.0 + swagger-ui-dist: 5.30.2 optionalDependencies: class-transformer: 0.5.1 - class-validator: 0.14.2 + class-validator: 0.14.3 - '@nestjs/testing@10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20)(@nestjs/platform-express@10.4.20)': + '@nestjs/testing@11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/platform-express@11.1.9)': dependencies: - '@nestjs/common': 10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@10.4.20)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/common': 11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/core': 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.9)(reflect-metadata@0.1.14)(rxjs@7.8.2) tslib: 2.8.1 optionalDependencies: - '@nestjs/platform-express': 10.4.20(@nestjs/common@10.4.20(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@10.4.20) + '@nestjs/platform-express': 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.9) '@nodelib/fs.scandir@2.1.5': dependencies: @@ -2804,47 +4378,102 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@nuxtjs/opencollective@0.3.2': + '@nuxt/opencollective@0.4.1': dependencies: - chalk: 4.1.2 - consola: 2.15.3 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - '@pkgjs/parseargs@0.11.0': - optional: true + consola: 3.4.2 '@pkgr/core@0.2.9': {} - '@prisma/client@5.22.0(prisma@5.22.0)': + '@prisma/client-runtime-utils@7.0.1': {} + + '@prisma/client@7.0.1(prisma@7.0.1(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2))(typescript@5.9.2)': + dependencies: + '@prisma/client-runtime-utils': 7.0.1 optionalDependencies: - prisma: 5.22.0 + prisma: 7.0.1(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2) + typescript: 5.9.2 + + '@prisma/config@7.0.1': + dependencies: + c12: 3.1.0 + deepmerge-ts: 7.1.5 + effect: 3.18.4 + empathic: 2.0.0 + transitivePeerDependencies: + - magicast + + '@prisma/debug@6.8.2': {} + + '@prisma/debug@7.0.1': {} + + '@prisma/dev@0.13.0(typescript@5.9.2)': + dependencies: + '@electric-sql/pglite': 0.3.2 + '@electric-sql/pglite-socket': 0.0.6(@electric-sql/pglite@0.3.2) + '@electric-sql/pglite-tools': 0.2.7(@electric-sql/pglite@0.3.2) + '@hono/node-server': 1.14.2(hono@4.7.10) + '@mrleebo/prisma-ast': 0.12.1 + '@prisma/get-platform': 6.8.2 + '@prisma/query-plan-executor': 6.18.0 + foreground-child: 3.3.1 + get-port-please: 3.1.2 + hono: 4.7.10 + http-status-codes: 2.3.0 + pathe: 2.0.3 + proper-lockfile: 4.1.2 + remeda: 2.21.3 + std-env: 3.9.0 + valibot: 1.1.0(typescript@5.9.2) + zeptomatch: 2.0.2 + transitivePeerDependencies: + - typescript - '@prisma/debug@5.22.0': {} + '@prisma/engines-version@7.1.0-2.f09f2815f091dbba658cdcd2264306d88bb5bda6': {} - '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {} + '@prisma/engines@7.0.1': + dependencies: + '@prisma/debug': 7.0.1 + '@prisma/engines-version': 7.1.0-2.f09f2815f091dbba658cdcd2264306d88bb5bda6 + '@prisma/fetch-engine': 7.0.1 + '@prisma/get-platform': 7.0.1 + + '@prisma/fetch-engine@7.0.1': + dependencies: + '@prisma/debug': 7.0.1 + '@prisma/engines-version': 7.1.0-2.f09f2815f091dbba658cdcd2264306d88bb5bda6 + '@prisma/get-platform': 7.0.1 - '@prisma/engines@5.22.0': + '@prisma/get-platform@6.8.2': dependencies: - '@prisma/debug': 5.22.0 - '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - '@prisma/fetch-engine': 5.22.0 - '@prisma/get-platform': 5.22.0 + '@prisma/debug': 6.8.2 - '@prisma/fetch-engine@5.22.0': + '@prisma/get-platform@7.0.1': dependencies: - '@prisma/debug': 5.22.0 - '@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2 - '@prisma/get-platform': 5.22.0 + '@prisma/debug': 7.0.1 + + '@prisma/query-plan-executor@6.18.0': {} - '@prisma/get-platform@5.22.0': + '@prisma/studio-core@0.8.2(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@prisma/debug': 5.22.0 + '@types/react': 19.2.7 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) '@scarf/scarf@1.4.0': {} - '@tokenizer/inflate@0.2.7': + '@sinclair/typebox@0.27.8': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@standard-schema/spec@1.0.0': {} + + '@tokenizer/inflate@0.3.1': dependencies: debug: 4.4.1 fflate: 0.8.2 @@ -2854,8 +4483,6 @@ snapshots: '@tokenizer/token@0.3.0': {} - '@tootallnate/once@1.1.2': {} - '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -2864,6 +4491,27 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.5 + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 @@ -2885,11 +4533,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-jwt@0.0.42': - dependencies: - '@types/express': 4.17.23 - '@types/express-unless': 2.0.3 - '@types/express-serve-static-core@4.19.6': dependencies: '@types/node': 20.19.11 @@ -2897,9 +4540,12 @@ snapshots: '@types/range-parser': 1.2.7 '@types/send': 0.17.5 - '@types/express-unless@2.0.3': + '@types/express-serve-static-core@5.1.0': dependencies: - express-unless: 2.1.3 + '@types/node': 20.19.11 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 '@types/express@4.17.23': dependencies: @@ -2908,12 +4554,44 @@ snapshots: '@types/qs': 6.14.0 '@types/serve-static': 1.15.8 + '@types/express@5.0.5': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 5.1.0 + '@types/serve-static': 1.15.8 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 20.19.11 + '@types/http-errors@2.0.5': {} + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + '@types/json-schema@7.0.15': {} + '@types/jsonwebtoken@9.0.10': + dependencies: + '@types/ms': 2.1.0 + '@types/node': 20.19.11 + '@types/mime@1.3.5': {} + '@types/ms@2.1.0': {} + '@types/node@20.19.11': dependencies: undici-types: 6.21.0 @@ -2928,6 +4606,10 @@ snapshots: '@types/range-parser@1.2.7': {} + '@types/react@19.2.7': + dependencies: + csstype: 3.2.3 + '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 @@ -2939,17 +4621,25 @@ snapshots: '@types/node': 20.19.11 '@types/send': 0.17.5 - '@types/validator@13.15.2': {} + '@types/stack-utils@2.0.3': {} + + '@types/validator@13.15.10': {} + + '@types/yargs-parser@21.0.3': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.33.0)(typescript@5.9.2))(eslint@9.33.0)(typescript@5.9.2)': + '@types/yargs@17.0.34': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.18.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.33.0)(typescript@5.9.2) - '@typescript-eslint/utils': 7.18.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -2959,15 +4649,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0)(typescript@5.9.2))(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.40.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0)(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -2976,27 +4666,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/parser@7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.1 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.40.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.40.0 debug: 4.4.1 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -3024,25 +4714,25 @@ snapshots: dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@7.18.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) - '@typescript-eslint/utils': 7.18.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) ts-api-utils: 1.4.3(typescript@5.9.2) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.40.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -3083,24 +4773,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/utils@7.18.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.2) - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.40.0(eslint@9.33.0)(typescript@5.9.2)': + '@typescript-eslint/utils@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.40.0 '@typescript-eslint/types': 8.40.0 '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -3195,10 +4885,14 @@ snapshots: '@xtuc/long@4.2.2': {} - accepts@1.3.8: + accepts@2.0.0: dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 + mime-types: 3.0.2 + negotiator: 1.0.0 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 acorn-jsx@5.3.2(acorn@8.15.0): dependencies: @@ -3210,17 +4904,11 @@ snapshots: acorn@8.15.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - - ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: - ajv: 8.12.0 + ajv: 8.17.1 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -3240,13 +4928,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -3268,8 +4949,12 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} + ansis@4.2.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -3279,41 +4964,82 @@ snapshots: arg@4.1.3: {} - argparse@2.0.1: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 - array-flatten@1.1.1: {} + argparse@2.0.1: {} array-timsort@1.0.3: {} array-union@2.1.0: {} - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - - assert-plus@1.0.0: {} - asynckit@0.4.0: {} - aws-sign2@0.7.0: {} + aws-ssl-profiles@1.1.2: {} - aws4@1.13.2: {} + axios@0.30.2: + dependencies: + follow-redirects: 1.15.11 + form-data: 4.0.5 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug - axios@0.19.2: + babel-jest@29.7.0(@babel/core@7.28.5): dependencies: - follow-redirects: 1.5.10 + '@babel/core': 7.28.5 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.28.5) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 transitivePeerDependencies: - supports-color - axios@0.21.4(debug@4.4.1): + babel-plugin-istanbul@6.1.1: dependencies: - follow-redirects: 1.15.11(debug@4.4.1) + '@babel/helper-plugin-utils': 7.27.1 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 transitivePeerDependencies: - - debug + - supports-color - babel-runtime@6.6.1: - dependencies: - core-js: 2.6.12 + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5) + + babel-preset-jest@29.6.3(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) backoff@2.5.0: dependencies: @@ -3323,32 +5049,23 @@ snapshots: base64-js@1.5.1: {} - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 - - binary-extensions@2.3.0: {} - bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - body-parser@1.20.3: + body-parser@2.2.1: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 + debug: 4.4.3 http-errors: 2.0.0 - iconv-lite: 0.4.24 + iconv-lite: 0.7.0 on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 + qs: 6.14.0 + raw-body: 3.0.2 + type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -3372,6 +5089,14 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.3) + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + buffer-equal-constant-time@1.0.1: {} buffer-from@1.1.2: {} @@ -3394,18 +5119,26 @@ snapshots: bytes@3.1.2: {} + c12@3.1.0: + dependencies: + chokidar: 4.0.3 + confbox: 0.2.2 + defu: 6.1.4 + dotenv: 16.6.1 + exsolve: 1.0.8 + giget: 2.0.0 + jiti: 2.6.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.3.0 + rc9: 2.1.2 + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 @@ -3413,40 +5146,51 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001735: {} + camelcase@5.3.1: {} + + camelcase@6.3.0: {} - caseless@0.12.0: {} + caniuse-lite@1.0.30001735: {} chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.6.0: {} + char-regex@1.0.2: {} - chardet@0.7.0: {} + chardet@2.1.1: {} - chokidar@3.6.0: + chevrotain@10.5.0: dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 + '@chevrotain/cst-dts-gen': 10.5.0 + '@chevrotain/gast': 10.5.0 + '@chevrotain/types': 10.5.0 + '@chevrotain/utils': 10.5.0 + lodash: 4.17.21 + regexp-to-ast: 0.5.0 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 chrome-trace-event@1.0.4: {} + ci-info@3.9.0: {} + + citty@0.1.6: + dependencies: + consola: 3.4.2 + + cjs-module-lexer@1.4.3: {} + class-transformer@0.5.1: {} - class-validator@0.14.2: + class-validator@0.14.3: dependencies: - '@types/validator': 13.15.2 + '@types/validator': 13.15.10 libphonenumber-js: 1.12.13 - validator: 13.15.15 + validator: 13.15.23 cli-cursor@3.1.0: dependencies: @@ -3460,15 +5204,23 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 - cli-width@3.0.0: {} - cli-width@4.1.0: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + clone@1.0.4: {} - codependency@0.1.4: + co@4.6.0: {} + + codependency@2.1.0: dependencies: - semver: 5.0.1 + semver: 5.7.2 + + collect-v8-coverage@1.0.3: {} color-convert@2.0.1: dependencies: @@ -3484,13 +5236,11 @@ snapshots: commander@4.1.1: {} - comment-json@4.2.5: + comment-json@4.4.1: dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 esprima: 4.0.1 - has-own-prop: 2.0.0 - repeat-string: 1.6.1 concat-map@0.0.1: {} @@ -3501,21 +5251,19 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 - consola@2.15.3: {} + confbox@0.2.2: {} - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 + consola@3.4.2: {} - content-type@1.0.5: {} + content-disposition@1.0.1: {} - cookie-signature@1.0.6: {} + content-type@1.0.5: {} - cookie@0.7.1: {} + convert-source-map@2.0.0: {} - core-js@2.6.12: {} + cookie-signature@1.2.2: {} - core-util-is@1.0.2: {} + cookie@0.7.1: {} core-util-is@1.0.3: {} @@ -3524,14 +5272,29 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@8.3.6(typescript@5.7.2): + cosmiconfig@8.3.6(typescript@5.9.3): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.7.2 + typescript: 5.9.3 + + create-jest@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node create-require@1.1.1: {} @@ -3541,43 +5304,43 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - dashdash@1.14.1: - dependencies: - assert-plus: 1.0.0 - - date-fns@3.6.0: {} + csstype@3.2.3: {} - debug@2.6.9: - dependencies: - ms: 2.0.0 + date-fns@4.1.0: {} - debug@3.1.0: + debug@4.4.1: dependencies: - ms: 2.0.0 + ms: 2.1.3 - debug@4.4.1: + debug@4.4.3: dependencies: ms: 2.1.3 + dedent@1.7.0: {} + deep-is@0.1.4: {} + deepmerge-ts@7.1.5: {} + deepmerge@4.3.1: {} defaults@1.0.4: - dependencies: - clone: 1.0.4 - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 + dependencies: + clone: 1.0.4 + + defu@6.1.4: {} delayed-stream@1.0.0: {} + denque@2.1.0: {} + depd@2.0.0: {} - destroy@1.2.0: {} + destr@2.0.5: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -3585,9 +5348,13 @@ snapshots: dependencies: path-type: 4.0.0 - dotenv-expand@10.0.0: {} + dotenv-expand@12.0.1: + dependencies: + dotenv: 16.4.7 + + dotenv@16.4.7: {} - dotenv@16.4.5: {} + dotenv@16.6.1: {} dtrace-provider@0.8.8: dependencies: @@ -3602,24 +5369,26 @@ snapshots: eastasianwidth@0.2.0: {} - ecc-jsbn@0.1.2: - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer: 5.2.1 ee-first@1.1.1: {} + effect@3.18.4: + dependencies: + '@standard-schema/spec': 1.0.0 + fast-check: 3.23.2 + electron-to-chromium@1.5.207: {} + emittery@0.13.1: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - encodeurl@1.0.2: {} + empathic@2.0.0: {} encodeurl@2.0.0: {} @@ -3642,27 +5411,34 @@ snapshots: dependencies: es-errors: 1.3.0 + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + escalade@3.2.0: {} escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} + escape-string-regexp@2.0.0: {} escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@9.33.0): + eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.6.1)): dependencies: - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) - eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.33.0))(eslint@9.33.0)(prettier@3.6.2): + eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.6.1)))(eslint@9.33.0(jiti@2.6.1))(prettier@3.6.2): dependencies: - eslint: 9.33.0 + eslint: 9.33.0(jiti@2.6.1) prettier: 3.6.2 prettier-linter-helpers: 1.0.0 synckit: 0.11.11 optionalDependencies: '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@9.33.0) + eslint-config-prettier: 10.1.8(eslint@9.33.0(jiti@2.6.1)) eslint-scope@5.1.1: dependencies: @@ -3678,9 +5454,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.33.0: + eslint@9.33.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 @@ -3715,6 +5491,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -3744,53 +5522,65 @@ snapshots: events@3.3.0: {} - express-unless@2.1.3: {} + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 - express@4.21.2: + express@5.1.0: dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.3 - content-disposition: 0.5.4 + accepts: 2.0.0 + body-parser: 2.2.1 + content-disposition: 1.0.1 content-type: 1.0.5 cookie: 0.7.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 + cookie-signature: 1.2.2 + debug: 4.4.1 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.1 - fresh: 0.5.2 + finalhandler: 2.1.0 + fresh: 2.0.0 http-errors: 2.0.0 - merge-descriptors: 1.0.3 - methods: 1.1.2 + merge-descriptors: 2.0.0 + mime-types: 3.0.2 on-finished: 2.4.1 + once: 1.4.0 parseurl: 1.3.3 - path-to-regexp: 0.1.12 proxy-addr: 2.0.7 - qs: 6.13.0 + qs: 6.14.0 range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.2 - setprototypeof: 1.2.0 + router: 2.2.0 + send: 1.2.0 + serve-static: 2.2.0 statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 + type-is: 2.0.1 vary: 1.1.2 transitivePeerDependencies: - supports-color - extend@3.0.2: {} + exsolve@1.0.8: {} - external-editor@3.1.0: + fast-check@3.23.2: dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - extsprintf@1.3.0: {} + pure-rand: 6.1.0 fast-deep-equal@3.1.3: {} @@ -3816,19 +5606,19 @@ snapshots: dependencies: reusify: 1.1.0 - fflate@0.8.2: {} - - figures@3.2.0: + fb-watchman@2.0.2: dependencies: - escape-string-regexp: 1.0.5 + bser: 2.1.1 + + fflate@0.8.2: {} file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - file-type@20.4.1: + file-type@21.1.0: dependencies: - '@tokenizer/inflate': 0.2.7 + '@tokenizer/inflate': 0.3.1 strtok3: 10.3.4 token-types: 6.1.1 uint8array-extras: 1.4.1 @@ -3839,18 +5629,22 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.3.1: + finalhandler@2.1.0: dependencies: - debug: 2.6.9 + debug: 4.4.1 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 statuses: 2.0.1 - unpipe: 1.0.0 transitivePeerDependencies: - supports-color + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -3863,49 +5657,41 @@ snapshots: flatted@3.3.3: {} - follow-redirects@1.15.11(debug@4.4.1): - optionalDependencies: - debug: 4.4.1 - - follow-redirects@1.5.10: - dependencies: - debug: 3.1.0 - transitivePeerDependencies: - - supports-color + follow-redirects@1.15.11: {} foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 - forever-agent@0.6.1: {} - - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.7.2)(webpack@5.97.1): + fork-ts-checker-webpack-plugin@9.1.0(typescript@5.9.3)(webpack@5.100.2): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.7.2) + chokidar: 4.0.3 + cosmiconfig: 8.3.6(typescript@5.9.3) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.2 + semver: 7.7.3 tapable: 2.2.2 - typescript: 5.7.2 - webpack: 5.97.1 + typescript: 5.9.3 + webpack: 5.100.2 - form-data@2.3.3: + form-data@4.0.5: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 forwarded@0.2.0: {} - fresh@0.5.2: {} + fresh@2.0.0: {} fs-extra@10.1.0: dependencies: @@ -3915,11 +5701,21 @@ snapshots: fs-monkey@1.1.0: {} + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true function-bind@1.1.2: {} + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -3933,14 +5729,25 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-package-type@0.1.0: {} + + get-port-please@3.1.2: {} + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - getpass@0.1.7: + get-stream@6.0.1: {} + + giget@2.0.0: dependencies: - assert-plus: 1.0.0 + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + node-fetch-native: 1.6.7 + nypm: 0.6.2 + pathe: 2.0.3 glob-parent@5.1.2: dependencies: @@ -3952,14 +5759,14 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.4.5: + glob@12.0.0: dependencies: foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 + jackspeak: 4.1.1 + minimatch: 10.1.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 + path-scurry: 2.0.1 glob@6.0.4: dependencies: @@ -3970,6 +5777,15 @@ snapshots: path-is-absolute: 1.0.1 optional: true + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + globals@14.0.0: {} globals@16.3.0: {} @@ -3987,29 +5803,35 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} + grammex@3.1.11: {} - har-schema@2.0.0: {} + graphemer@1.4.0: {} - har-validator@5.1.5: + handlebars@4.7.8: dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 has-flag@4.0.0: {} - has-own-prop@2.0.0: {} + has-symbols@1.1.0: {} - has-property-descriptors@1.0.2: + has-tostringtag@1.0.2: dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} + has-symbols: 1.1.0 hasown@2.0.2: dependencies: function-bind: 1.1.2 + hono@4.7.10: {} + + html-escaper@2.0.2: {} + http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -4018,30 +5840,21 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-proxy-agent@4.0.1: + http-errors@2.0.1: dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 - http-signature@1.2.0: - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 + http-status-codes@2.3.0: {} - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color + human-signals@2.1.0: {} i18n-iso-countries@3.7.8: {} - iconv-lite@0.4.24: + iconv-lite@0.7.0: dependencies: safer-buffer: 2.1.2 @@ -4056,101 +5869,434 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + imurmurhash@0.1.4: {} inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - optional: true inherits@2.0.4: {} - inquirer@8.2.6: + ipaddr.js@1.9.1: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-number@7.0.0: {} + + is-promise@4.0.0: {} + + is-property@1.0.2: {} + + is-stream@2.0.1: {} + + is-unicode-supported@0.1.0: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.1 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + iterare@1.2.1: {} + + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)): + dependencies: + '@babel/core': 7.28.5 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.19.11 + ts-node: 10.9.2(@types/node@20.19.11)(typescript@5.9.2) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 20.19.11 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.11 + resolve.exports: 2.0.3 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.28.5 + '@babel/generator': 7.28.5 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.5 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.19.11 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: dependencies: - ansi-escapes: 4.3.2 + '@jest/types': 29.6.3 + camelcase: 6.3.0 chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 - inquirer@9.2.15: + jest-watcher@29.7.0: dependencies: - '@ljharb/through': 2.3.14 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.19.11 ansi-escapes: 4.3.2 - chalk: 5.6.0 - cli-cursor: 3.1.0 - cli-width: 4.1.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 1.0.0 - ora: 5.4.1 - run-async: 3.0.0 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - - ipaddr.js@1.9.1: {} - - is-arrayish@0.2.1: {} + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 - is-binary-path@2.1.0: + jest-worker@27.5.1: dependencies: - binary-extensions: 2.3.0 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} + '@types/node': 20.19.11 + merge-stream: 2.0.0 + supports-color: 8.1.1 - is-glob@4.0.3: + jest-worker@29.7.0: dependencies: - is-extglob: 2.1.1 - - is-interactive@1.0.0: {} - - is-number@7.0.0: {} - - is-typedarray@1.0.0: {} + '@types/node': 20.19.11 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 - is-unicode-supported@0.1.0: {} + jest@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node - isexe@2.0.0: {} + jiti@2.6.1: {} - isstream@0.1.2: {} + jose@4.15.9: {} - iterare@1.2.1: {} + js-tokens@4.0.0: {} - jackspeak@3.4.3: + js-yaml@3.14.1: dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 + argparse: 1.0.10 + esprima: 4.0.1 - jest-worker@27.5.1: + js-yaml@4.1.0: dependencies: - '@types/node': 20.19.11 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - js-tokens@4.0.0: {} + argparse: 2.0.1 - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 - jsbn@0.1.1: {} + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -4160,16 +6306,12 @@ snapshots: json-schema-traverse@1.0.0: {} - json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} json5@2.2.3: {} - jsonc-parser@3.2.1: {} - jsonc-parser@3.3.1: {} jsonfile@6.2.0: @@ -4178,7 +6320,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonwebtoken@8.5.1: + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 lodash.includes: 4.3.0 @@ -4189,14 +6331,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 5.7.2 - - jsprim@1.4.2: - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 + semver: 7.7.3 jwa@1.4.2: dependencies: @@ -4204,18 +6339,14 @@ snapshots: ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jwks-rsa@1.12.3: + jwks-rsa@3.2.0: dependencies: - '@types/express-jwt': 0.0.42 - axios: 0.21.4(debug@4.4.1) + '@types/express': 4.17.23 + '@types/jsonwebtoken': 9.0.10 debug: 4.4.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - jsonwebtoken: 8.5.1 + jose: 4.15.9 limiter: 1.1.5 lru-memoizer: 2.3.0 - ms: 2.1.3 - proxy-from-env: 1.1.0 transitivePeerDependencies: - supports-color @@ -4228,6 +6359,10 @@ snapshots: dependencies: json-buffer: 3.0.1 + kleur@3.0.3: {} + + leven@3.1.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -4235,12 +6370,20 @@ snapshots: libphonenumber-js@1.12.13: {} + lilconfig@2.1.0: {} + limiter@1.1.5: {} lines-and-columns@1.2.4: {} + load-esm@1.0.3: {} + loader-runner@4.3.0: {} + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -4259,12 +6402,12 @@ snapshots: lodash.isstring@4.0.1: {} + lodash.memoize@4.1.2: {} + lodash.merge@4.6.2: {} lodash.once@4.1.1: {} - lodash@4.17.15: {} - lodash@4.17.21: {} log-symbols@4.1.0: @@ -4272,39 +6415,57 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - lru-cache@10.4.3: {} + long@5.3.2: {} + + lru-cache@11.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 lru-cache@6.0.0: dependencies: yallist: 4.0.0 + lru-cache@7.18.3: {} + lru-memoizer@2.3.0: dependencies: lodash.clonedeep: 4.5.0 lru-cache: 6.0.0 - magic-string@0.30.8: + lru.min@1.1.3: {} + + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + make-dir@4.0.0: + dependencies: + semver: 7.7.3 + make-error@1.3.6: {} + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + math-intrinsics@1.1.0: {} media-typer@0.3.0: {} + media-typer@1.1.0: {} + memfs@3.5.3: dependencies: fs-monkey: 1.1.0 - merge-descriptors@1.0.3: {} + merge-descriptors@2.0.0: {} merge-stream@2.0.0: {} merge2@1.4.1: {} - methods@1.1.2: {} - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -4314,14 +6475,22 @@ snapshots: mime-db@1.52.0: {} + mime-db@1.54.0: {} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime@1.6.0: {} + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 mimic-fn@2.1.0: {} + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -4341,8 +6510,6 @@ snapshots: moment@2.30.1: optional: true - ms@2.0.0: {} - ms@2.1.3: {} multer@2.0.2: @@ -4355,9 +6522,7 @@ snapshots: type-is: 1.6.18 xtend: 4.0.2 - mute-stream@0.0.8: {} - - mute-stream@1.0.0: {} + mute-stream@2.0.0: {} mv@2.1.1: dependencies: @@ -4366,6 +6531,22 @@ snapshots: rimraf: 2.4.5 optional: true + mysql2@3.15.3: + dependencies: + aws-ssl-profiles: 1.1.2 + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.7.0 + long: 5.3.2 + lru.min: 1.1.3 + named-placeholders: 1.1.3 + seq-queue: 0.0.5 + sqlstring: 2.3.3 + + named-placeholders@1.1.3: + dependencies: + lru-cache: 7.18.3 + nan@2.23.0: optional: true @@ -4374,7 +6555,7 @@ snapshots: ncp@2.0.0: optional: true - negotiator@0.6.3: {} + negotiator@1.0.0: {} neo-async@2.6.2: {} @@ -4384,20 +6565,32 @@ snapshots: dependencies: lodash: 4.17.21 - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 + node-fetch-native@1.6.7: {} + + node-int64@0.4.0: {} node-releases@2.0.19: {} normalize-path@3.0.0: {} - oauth-sign@0.9.0: {} + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nypm@0.6.2: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + tinyexec: 1.0.2 object-assign@4.1.1: {} object-inspect@1.13.4: {} + ohash@2.0.11: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -4405,7 +6598,6 @@ snapshots: once@1.4.0: dependencies: wrappy: 1.0.2 - optional: true onetime@5.1.2: dependencies: @@ -4432,16 +6624,24 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - os-tmpdir@1.0.2: {} + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} parent-module@1.0.1: @@ -4459,25 +6659,24 @@ snapshots: path-exists@4.0.0: {} - path-is-absolute@1.0.1: - optional: true + path-is-absolute@1.0.1: {} path-key@3.1.1: {} - path-scurry@1.11.1: + path-parse@1.0.7: {} + + path-scurry@2.0.1: dependencies: - lru-cache: 10.4.3 + lru-cache: 11.2.2 minipass: 7.1.2 - path-to-regexp@0.1.12: {} - - path-to-regexp@3.3.0: {} - - path-to-regexp@8.2.0: {} + path-to-regexp@8.3.0: {} path-type@4.0.0: {} - performance-now@2.1.0: {} + pathe@2.0.3: {} + + perfect-debounce@1.0.0: {} pg-cloudflare@1.2.7: optional: true @@ -4518,7 +6717,19 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.1: {} + picomatch@4.0.2: {} + + pirates@4.0.7: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.8 + pathe: 2.0.3 pluralize@8.0.0: {} @@ -4532,6 +6743,8 @@ snapshots: dependencies: xtend: 4.0.2 + postgres@3.4.7: {} + precond@0.2.3: {} prelude-ls@1.2.1: {} @@ -4542,11 +6755,38 @@ snapshots: prettier@3.6.2: {} - prisma@5.22.0: + pretty-format@29.7.0: dependencies: - '@prisma/engines': 5.22.0 + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prisma@7.0.1(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.2): + dependencies: + '@prisma/config': 7.0.1 + '@prisma/dev': 0.13.0(typescript@5.9.2) + '@prisma/engines': 7.0.1 + '@prisma/studio-core': 0.8.2(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + mysql2: 3.15.3 + postgres: 3.4.7 optionalDependencies: - fsevents: 2.3.3 + typescript: 5.9.2 + transitivePeerDependencies: + - '@types/react' + - magicast + - react + - react-dom + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 proxy-addr@2.0.7: dependencies: @@ -4555,28 +6795,22 @@ snapshots: proxy-from-env@1.1.0: {} - psl@1.15.0: - dependencies: - punycode: 2.3.1 - punycode@2.3.1: {} - qs@6.13.0: + pure-rand@6.1.0: {} + + qs@6.14.0: dependencies: side-channel: 1.1.0 - qs@6.5.3: {} - queue-microtask@1.2.3: {} - r7insight_node@1.8.4: + r7insight_node@2.1.1: dependencies: - babel-runtime: 6.6.1 - codependency: 0.1.4 + codependency: 2.1.0 json-stringify-safe: 5.0.1 - lodash: 4.17.15 + lodash: 4.17.21 reconnect-core: 1.3.0 - semver: 5.1.0 randombytes@2.1.0: dependencies: @@ -4584,22 +6818,34 @@ snapshots: range-parser@1.2.1: {} - raw-body@2.5.2: + raw-body@3.0.2: dependencies: bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 + http-errors: 2.0.1 + iconv-lite: 0.7.0 unpipe: 1.0.0 + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.5 + + react-dom@19.2.0(react@19.2.0): + dependencies: + react: 19.2.0 + scheduler: 0.27.0 + + react-is@18.3.1: {} + + react@19.2.0: {} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 + readdirp@4.1.2: {} reconnect-core@1.3.0: dependencies: @@ -4607,40 +6853,39 @@ snapshots: reflect-metadata@0.1.14: {} - repeat-string@1.6.1: {} + regexp-to-ast@0.5.0: {} - request@2.88.2: + remeda@2.21.3: dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 + type-fest: 4.41.0 + + require-directory@2.1.1: {} require-from-string@2.0.2: {} + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + + resolve.exports@2.0.3: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + retry@0.12.0: {} + reusify@1.1.0: {} rimraf@2.4.5: @@ -4648,9 +6893,15 @@ snapshots: glob: 6.0.4 optional: true - run-async@2.4.1: {} - - run-async@3.0.0: {} + router@2.2.0: + dependencies: + debug: 4.4.1 + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.3.0 + transitivePeerDependencies: + - supports-color run-parallel@1.2.0: dependencies: @@ -4671,6 +6922,8 @@ snapshots: safer-buffer@2.1.2: {} + scheduler@0.27.0: {} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 @@ -4684,25 +6937,23 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - semver@5.0.1: {} - - semver@5.1.0: {} - semver@5.7.2: {} + semver@6.3.1: {} + semver@7.7.2: {} - send@0.19.0: + semver@7.7.3: {} + + send@1.2.0: dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 + debug: 4.4.1 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - fresh: 0.5.2 + fresh: 2.0.0 http-errors: 2.0.0 - mime: 1.6.0 + mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 @@ -4710,28 +6961,21 @@ snapshots: transitivePeerDependencies: - supports-color + seq-queue@0.0.5: {} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - serve-static@1.16.2: + serve-static@2.2.0: dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.0 + send: 1.2.0 transitivePeerDependencies: - supports-color - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - setprototypeof@1.2.0: {} shebang-command@2.0.0: @@ -4772,8 +7016,15 @@ snapshots: signal-exit@4.1.0: {} + sisteransi@1.0.5: {} + slash@3.0.0: {} + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -4785,22 +7036,27 @@ snapshots: split2@4.2.0: {} - sshpk@1.18.0: + sprintf-js@1.0.3: {} + + sqlstring@2.3.3: {} + + stack-utils@2.0.6: dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 + escape-string-regexp: 2.0.0 statuses@2.0.1: {} + statuses@2.0.2: {} + + std-env@3.9.0: {} + streamsearch@1.1.0: {} + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -4827,6 +7083,10 @@ snapshots: strip-bom@3.0.0: {} + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + strip-json-comments@3.1.1: {} strtok3@10.3.4: @@ -4841,7 +7101,9 @@ snapshots: dependencies: has-flag: 4.0.0 - swagger-ui-dist@5.21.0: + supports-preserve-symlinks-flag@1.0.0: {} + + swagger-ui-dist@5.30.2: dependencies: '@scarf/scarf': 1.4.0 @@ -4853,27 +7115,27 @@ snapshots: tapable@2.2.2: {} - tc-core-library-js@https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/df0b36c51cf80918194cbff777214b3c0cf5a151: + tc-core-library-js@https://codeload.github.com/appirio-tech/tc-core-library-js/tar.gz/87058f286c5b12bc8063956901dd641a1163bf9c: dependencies: - axios: 0.19.2 + axios: 0.30.2 bunyan: 1.8.15 - jsonwebtoken: 8.5.1 - jwks-rsa: 1.12.3 + jsonwebtoken: 9.0.2 + jwks-rsa: 3.2.0 lodash: 4.17.21 millisecond: 0.1.2 - r7insight_node: 1.8.4 - request: 2.88.2 + r7insight_node: 2.1.1 transitivePeerDependencies: + - debug - supports-color - terser-webpack-plugin@5.3.14(webpack@5.97.1): + terser-webpack-plugin@5.3.14(webpack@5.100.2): dependencies: '@jridgewell/trace-mapping': 0.3.30 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.97.1 + webpack: 5.100.2 terser@5.43.1: dependencies: @@ -4882,11 +7144,15 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - through@2.3.8: {} - - tmp@0.0.33: + test-exclude@6.0.0: dependencies: - os-tmpdir: 1.0.2 + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + tinyexec@1.0.2: {} + + tmpl@1.0.5: {} to-regex-range@5.0.1: dependencies: @@ -4900,15 +7166,6 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - tough-cookie@2.5.0: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 - - tr46@0.0.3: {} - - tree-kill@1.2.2: {} - ts-api-utils@1.4.3(typescript@5.9.2): dependencies: typescript: 5.9.2 @@ -4917,6 +7174,26 @@ snapshots: dependencies: typescript: 5.9.2 + ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)))(typescript@5.9.2): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + handlebars: 4.7.8 + jest: 29.7.0(@types/node@20.19.11)(ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2)) + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.7.3 + type-fest: 4.41.0 + typescript: 5.9.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.28.5 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + jest-util: 29.7.0 + ts-node@10.9.2(@types/node@20.19.11)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -4950,40 +7227,47 @@ snapshots: tslib@2.8.1: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - - tweetnacl@0.14.5: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 + type-detect@4.0.8: {} + type-fest@0.21.3: {} + type-fest@4.41.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 + type-is@2.0.1: + dependencies: + content-type: 1.0.5 + media-typer: 1.1.0 + mime-types: 3.0.2 + typedarray@0.0.6: {} - typescript-eslint@8.40.0(eslint@9.33.0)(typescript@5.9.2): + typescript-eslint@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0)(typescript@5.9.2))(eslint@9.33.0)(typescript@5.9.2) - '@typescript-eslint/parser': 8.40.0(eslint@9.33.0)(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0)(typescript@5.9.2) - eslint: 9.33.0 + '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.6.1))(typescript@5.9.2) + eslint: 9.33.0(jiti@2.6.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - typescript@5.7.2: {} - typescript@5.9.2: {} + typescript@5.9.3: {} + + uglify-js@3.19.3: + optional: true + uid@2.0.2: dependencies: '@lukeed/csprng': 1.1.0 @@ -5008,21 +7292,25 @@ snapshots: util-deprecate@1.0.2: {} - utils-merge@1.0.1: {} + v8-compile-cache-lib@3.0.1: {} - uuid@3.4.0: {} + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.30 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 - v8-compile-cache-lib@3.0.1: {} + valibot@1.1.0(typescript@5.9.2): + optionalDependencies: + typescript: 5.9.2 - validator@13.15.15: {} + validator@13.15.23: {} vary@1.1.2: {} - verror@1.10.0: + walker@1.0.8: dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 + makeerror: 1.0.12 watchpack@2.4.4: dependencies: @@ -5033,20 +7321,20 @@ snapshots: dependencies: defaults: 1.0.4 - webidl-conversions@3.0.1: {} - webpack-node-externals@3.0.0: {} webpack-sources@3.3.3: {} - webpack@5.97.1: + webpack@5.100.2: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) browserslist: 4.25.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 @@ -5059,9 +7347,9 @@ snapshots: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.3.0 + schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(webpack@5.97.1) + terser-webpack-plugin: 5.3.14(webpack@5.100.2) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -5069,17 +7357,14 @@ snapshots: - esbuild - uglify-js - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + wordwrap@1.0.0: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -5098,15 +7383,39 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: - optional: true + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 xtend@4.0.2: {} + y18n@5.0.8: {} + + yallist@3.1.1: {} + yallist@4.0.0: {} yargs-parser@21.1.1: {} + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yn@3.1.1: {} yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.3: {} + + zeptomatch@2.0.2: + dependencies: + grammex: 3.1.11 diff --git a/prod_schema.sql b/prod_schema.sql index 2296bae..7df95d4 100644 --- a/prod_schema.sql +++ b/prod_schema.sql @@ -2,12 +2,12 @@ -- PostgreSQL database dump -- -\restrict s16NovA9EFBc13dBHlnDEcS07mSi2bKZrbuVMRHyMVer1OegddV4BfKSOHzAqYR +\restrict Aamsb0w6QlUnTHU724QaKOrqwzyz9pVhXQENKuxshNefvZ1e3SmtbIPHI8uc1NG -- Dumped from database version 16.8 -- Dumped by pg_dump version 17.6 (Ubuntu 17.6-0ubuntu0.25.04.1) --- Started on 2025-10-27 07:51:06 AEDT +-- Started on 2025-11-25 11:41:49 AEDT SET statement_timeout = 0; SET lock_timeout = 0; @@ -22,7 +22,7 @@ SET client_min_messages = warning; SET row_security = off; -- --- TOC entry 9 (class 2615 OID 1362914) +-- TOC entry 11 (class 2615 OID 1362914) -- Name: academy; Type: SCHEMA; Schema: -; Owner: academy -- @@ -32,7 +32,7 @@ CREATE SCHEMA academy; ALTER SCHEMA academy OWNER TO academy; -- --- TOC entry 27 (class 2615 OID 2030550) +-- TOC entry 12 (class 2615 OID 2030550) -- Name: autopilot; Type: SCHEMA; Schema: -; Owner: autopilot -- @@ -42,7 +42,7 @@ CREATE SCHEMA autopilot; ALTER SCHEMA autopilot OWNER TO autopilot; -- --- TOC entry 21 (class 2615 OID 1825263) +-- TOC entry 13 (class 2615 OID 2069891) -- Name: billing-accounts; Type: SCHEMA; Schema: -; Owner: billingaccounts -- @@ -52,7 +52,7 @@ CREATE SCHEMA "billing-accounts"; ALTER SCHEMA "billing-accounts" OWNER TO billingaccounts; -- --- TOC entry 24 (class 2615 OID 2004827) +-- TOC entry 14 (class 2615 OID 2004827) -- Name: challenges; Type: SCHEMA; Schema: -; Owner: challenges -- @@ -62,7 +62,7 @@ CREATE SCHEMA challenges; ALTER SCHEMA challenges OWNER TO challenges; -- --- TOC entry 12 (class 2615 OID 1363874) +-- TOC entry 15 (class 2615 OID 1363874) -- Name: emails; Type: SCHEMA; Schema: -; Owner: emails -- @@ -72,8 +72,8 @@ CREATE SCHEMA emails; ALTER SCHEMA emails OWNER TO emails; -- --- TOC entry 7623 (class 0 OID 0) --- Dependencies: 12 +-- TOC entry 7708 (class 0 OID 0) +-- Dependencies: 15 -- Name: SCHEMA emails; Type: COMMENT; Schema: -; Owner: emails -- @@ -81,7 +81,7 @@ COMMENT ON SCHEMA emails IS 'TC Email Service'; -- --- TOC entry 10 (class 2615 OID 1320061) +-- TOC entry 16 (class 2615 OID 1320061) -- Name: finance; Type: SCHEMA; Schema: -; Owner: finance -- @@ -91,7 +91,7 @@ CREATE SCHEMA finance; ALTER SCHEMA finance OWNER TO finance; -- --- TOC entry 13 (class 2615 OID 1347860) +-- TOC entry 17 (class 2615 OID 1347860) -- Name: gamification; Type: SCHEMA; Schema: -; Owner: gamification -- @@ -101,7 +101,7 @@ CREATE SCHEMA gamification; ALTER SCHEMA gamification OWNER TO gamification; -- --- TOC entry 19 (class 2615 OID 1825080) +-- TOC entry 18 (class 2615 OID 2070261) -- Name: groups; Type: SCHEMA; Schema: -; Owner: groups -- @@ -111,7 +111,7 @@ CREATE SCHEMA groups; ALTER SCHEMA groups OWNER TO groups; -- --- TOC entry 23 (class 2615 OID 1831862) +-- TOC entry 19 (class 2615 OID 1831862) -- Name: identity; Type: SCHEMA; Schema: -; Owner: identity -- @@ -131,7 +131,7 @@ CREATE SCHEMA lookups; ALTER SCHEMA lookups OWNER TO lookups; -- --- TOC entry 25 (class 2615 OID 2023503) +-- TOC entry 21 (class 2615 OID 2023503) -- Name: members; Type: SCHEMA; Schema: -; Owner: members -- @@ -141,7 +141,7 @@ CREATE SCHEMA members; ALTER SCHEMA members OWNER TO members; -- --- TOC entry 14 (class 2615 OID 1348134) +-- TOC entry 22 (class 2615 OID 1348134) -- Name: messages; Type: SCHEMA; Schema: -; Owner: messages -- @@ -151,7 +151,7 @@ CREATE SCHEMA messages; ALTER SCHEMA messages OWNER TO messages; -- --- TOC entry 16 (class 2615 OID 1436568) +-- TOC entry 23 (class 2615 OID 1436568) -- Name: notifications; Type: SCHEMA; Schema: -; Owner: notifications -- @@ -161,8 +161,8 @@ CREATE SCHEMA notifications; ALTER SCHEMA notifications OWNER TO notifications; -- --- TOC entry 7627 (class 0 OID 0) --- Dependencies: 16 +-- TOC entry 7717 (class 0 OID 0) +-- Dependencies: 23 -- Name: SCHEMA notifications; Type: COMMENT; Schema: -; Owner: notifications -- @@ -170,7 +170,7 @@ COMMENT ON SCHEMA notifications IS 'TC Notifications Service'; -- --- TOC entry 18 (class 2615 OID 2200) +-- TOC entry 24 (class 2615 OID 2200) -- Name: projects; Type: SCHEMA; Schema: -; Owner: projects -- @@ -180,8 +180,8 @@ CREATE SCHEMA projects; ALTER SCHEMA projects OWNER TO projects; -- --- TOC entry 7629 (class 0 OID 0) --- Dependencies: 18 +-- TOC entry 7719 (class 0 OID 0) +-- Dependencies: 24 -- Name: SCHEMA projects; Type: COMMENT; Schema: -; Owner: projects -- @@ -189,7 +189,26 @@ COMMENT ON SCHEMA projects IS 'TC Projects Service DB'; -- --- TOC entry 22 (class 2615 OID 1825030) +-- TOC entry 10 (class 2615 OID 2063642) +-- Name: public; Type: SCHEMA; Schema: -; Owner: topcoder +-- + +-- *not* creating schema, since initdb creates it + + +ALTER SCHEMA public OWNER TO topcoder; + +-- +-- TOC entry 7721 (class 0 OID 0) +-- Dependencies: 10 +-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: topcoder +-- + +COMMENT ON SCHEMA public IS ''; + + +-- +-- TOC entry 25 (class 2615 OID 1825030) -- Name: resources; Type: SCHEMA; Schema: -; Owner: resources -- @@ -199,7 +218,7 @@ CREATE SCHEMA resources; ALTER SCHEMA resources OWNER TO resources; -- --- TOC entry 28 (class 2615 OID 2033636) +-- TOC entry 26 (class 2615 OID 2033636) -- Name: reviews; Type: SCHEMA; Schema: -; Owner: reviews -- @@ -209,7 +228,7 @@ CREATE SCHEMA reviews; ALTER SCHEMA reviews OWNER TO reviews; -- --- TOC entry 26 (class 2615 OID 1476988) +-- TOC entry 27 (class 2615 OID 1476988) -- Name: skills; Type: SCHEMA; Schema: -; Owner: skills -- @@ -219,8 +238,8 @@ CREATE SCHEMA skills; ALTER SCHEMA skills OWNER TO skills; -- --- TOC entry 7632 (class 0 OID 0) --- Dependencies: 26 +-- TOC entry 7725 (class 0 OID 0) +-- Dependencies: 27 -- Name: SCHEMA skills; Type: COMMENT; Schema: -; Owner: skills -- @@ -228,7 +247,7 @@ COMMENT ON SCHEMA skills IS 'Standardized Skills Schema'; -- --- TOC entry 17 (class 2615 OID 1475405) +-- TOC entry 28 (class 2615 OID 1475405) -- Name: taas; Type: SCHEMA; Schema: -; Owner: taas -- @@ -238,8 +257,8 @@ CREATE SCHEMA taas; ALTER SCHEMA taas OWNER TO taas; -- --- TOC entry 7634 (class 0 OID 0) --- Dependencies: 17 +-- TOC entry 7727 (class 0 OID 0) +-- Dependencies: 28 -- Name: SCHEMA taas; Type: COMMENT; Schema: -; Owner: taas -- @@ -247,7 +266,7 @@ COMMENT ON SCHEMA taas IS 'TaaS API'; -- --- TOC entry 11 (class 2615 OID 1363440) +-- TOC entry 29 (class 2615 OID 1363440) -- Name: terms; Type: SCHEMA; Schema: -; Owner: terms -- @@ -257,7 +276,7 @@ CREATE SCHEMA terms; ALTER SCHEMA terms OWNER TO terms; -- --- TOC entry 15 (class 2615 OID 1352749) +-- TOC entry 30 (class 2615 OID 1352749) -- Name: timeline; Type: SCHEMA; Schema: -; Owner: timeline -- @@ -267,8 +286,8 @@ CREATE SCHEMA timeline; ALTER SCHEMA timeline OWNER TO timeline; -- --- TOC entry 7635 (class 0 OID 0) --- Dependencies: 15 +-- TOC entry 7730 (class 0 OID 0) +-- Dependencies: 30 -- Name: SCHEMA timeline; Type: COMMENT; Schema: -; Owner: timeline -- @@ -284,7 +303,7 @@ CREATE EXTENSION IF NOT EXISTS fuzzystrmatch WITH SCHEMA pg_catalog; -- --- TOC entry 7637 (class 0 OID 0) +-- TOC entry 7732 (class 0 OID 0) -- Dependencies: 1 -- Name: EXTENSION fuzzystrmatch; Type: COMMENT; Schema: -; Owner: -- @@ -292,6 +311,23 @@ CREATE EXTENSION IF NOT EXISTS fuzzystrmatch WITH SCHEMA pg_catalog; COMMENT ON EXTENSION fuzzystrmatch IS 'determine similarities and distance between strings'; +-- +-- TOC entry 5 (class 3079 OID 2069551) +-- Name: pg_prewarm; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS pg_prewarm WITH SCHEMA public; + + +-- +-- TOC entry 7733 (class 0 OID 0) +-- Dependencies: 5 +-- Name: EXTENSION pg_prewarm; Type: COMMENT; Schema: -; Owner: +-- + +COMMENT ON EXTENSION pg_prewarm IS 'prewarm relation data'; + + -- -- TOC entry 3 (class 3079 OID 1323388) -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: - @@ -301,7 +337,7 @@ CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA pg_catalog; -- --- TOC entry 7638 (class 0 OID 0) +-- TOC entry 7734 (class 0 OID 0) -- Dependencies: 3 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -- @@ -310,7 +346,7 @@ COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching -- --- TOC entry 5 (class 3079 OID 2033646) +-- TOC entry 6 (class 3079 OID 2033646) -- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: - -- @@ -318,8 +354,8 @@ CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA reviews; -- --- TOC entry 7639 (class 0 OID 0) --- Dependencies: 5 +-- TOC entry 7735 (class 0 OID 0) +-- Dependencies: 6 -- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner: -- @@ -335,7 +371,7 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA pg_catalog; -- --- TOC entry 7640 (class 0 OID 0) +-- TOC entry 7736 (class 0 OID 0) -- Dependencies: 2 -- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: -- @@ -344,7 +380,7 @@ COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UU -- --- TOC entry 1516 (class 1247 OID 1362922) +-- TOC entry 1515 (class 1247 OID 1362922) -- Name: CertificationStatus; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -360,7 +396,7 @@ CREATE TYPE academy."CertificationStatus" AS ENUM ( ALTER TYPE academy."CertificationStatus" OWNER TO topcoder; -- --- TOC entry 1519 (class 1247 OID 1362934) +-- TOC entry 1518 (class 1247 OID 1362934) -- Name: CourseStatus; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -375,7 +411,7 @@ CREATE TYPE academy."CourseStatus" AS ENUM ( ALTER TYPE academy."CourseStatus" OWNER TO topcoder; -- --- TOC entry 1522 (class 1247 OID 1362944) +-- TOC entry 1521 (class 1247 OID 1362944) -- Name: FccCertificationType; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -388,7 +424,7 @@ CREATE TYPE academy."FccCertificationType" AS ENUM ( ALTER TYPE academy."FccCertificationType" OWNER TO topcoder; -- --- TOC entry 1525 (class 1247 OID 1362950) +-- TOC entry 1524 (class 1247 OID 1362950) -- Name: LearnerLevel; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -403,7 +439,7 @@ CREATE TYPE academy."LearnerLevel" AS ENUM ( ALTER TYPE academy."LearnerLevel" OWNER TO topcoder; -- --- TOC entry 1528 (class 1247 OID 1362960) +-- TOC entry 1527 (class 1247 OID 1362960) -- Name: ResourceableType; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -416,7 +452,7 @@ CREATE TYPE academy."ResourceableType" AS ENUM ( ALTER TYPE academy."ResourceableType" OWNER TO topcoder; -- --- TOC entry 1531 (class 1247 OID 1362966) +-- TOC entry 1530 (class 1247 OID 1362966) -- Name: enum_CertificationEnrollment_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -430,7 +466,7 @@ CREATE TYPE academy."enum_CertificationEnrollment_status" AS ENUM ( ALTER TYPE academy."enum_CertificationEnrollment_status" OWNER TO topcoder; -- --- TOC entry 1534 (class 1247 OID 1362974) +-- TOC entry 1533 (class 1247 OID 1362974) -- Name: enum_CertificationEnrollments_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -444,7 +480,7 @@ CREATE TYPE academy."enum_CertificationEnrollments_status" AS ENUM ( ALTER TYPE academy."enum_CertificationEnrollments_status" OWNER TO topcoder; -- --- TOC entry 1537 (class 1247 OID 1362982) +-- TOC entry 1536 (class 1247 OID 1362982) -- Name: enum_CertificationResourceProgresses_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -458,7 +494,7 @@ CREATE TYPE academy."enum_CertificationResourceProgresses_status" AS ENUM ( ALTER TYPE academy."enum_CertificationResourceProgresses_status" OWNER TO topcoder; -- --- TOC entry 1540 (class 1247 OID 1362990) +-- TOC entry 1539 (class 1247 OID 1362990) -- Name: enum_CertificationResource_resourceableType; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -471,7 +507,7 @@ CREATE TYPE academy."enum_CertificationResource_resourceableType" AS ENUM ( ALTER TYPE academy."enum_CertificationResource_resourceableType" OWNER TO topcoder; -- --- TOC entry 1543 (class 1247 OID 1362996) +-- TOC entry 1542 (class 1247 OID 1362996) -- Name: enum_FccCertificationProgresses_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -485,7 +521,7 @@ CREATE TYPE academy."enum_FccCertificationProgresses_status" AS ENUM ( ALTER TYPE academy."enum_FccCertificationProgresses_status" OWNER TO topcoder; -- --- TOC entry 1546 (class 1247 OID 1363004) +-- TOC entry 1545 (class 1247 OID 1363004) -- Name: enum_FccCourseProgresses_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -498,7 +534,7 @@ CREATE TYPE academy."enum_FccCourseProgresses_status" AS ENUM ( ALTER TYPE academy."enum_FccCourseProgresses_status" OWNER TO topcoder; -- --- TOC entry 1549 (class 1247 OID 1363010) +-- TOC entry 1548 (class 1247 OID 1363010) -- Name: enum_FccCourses_learnerLevel; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -513,7 +549,7 @@ CREATE TYPE academy."enum_FccCourses_learnerLevel" AS ENUM ( ALTER TYPE academy."enum_FccCourses_learnerLevel" OWNER TO topcoder; -- --- TOC entry 1552 (class 1247 OID 1363020) +-- TOC entry 1551 (class 1247 OID 1363020) -- Name: enum_FccModuleProgresses_moduleStatus; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -527,7 +563,7 @@ CREATE TYPE academy."enum_FccModuleProgresses_moduleStatus" AS ENUM ( ALTER TYPE academy."enum_FccModuleProgresses_moduleStatus" OWNER TO topcoder; -- --- TOC entry 1555 (class 1247 OID 1363028) +-- TOC entry 1554 (class 1247 OID 1363028) -- Name: enum_FreeCodeCampCertification_certType; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -540,7 +576,7 @@ CREATE TYPE academy."enum_FreeCodeCampCertification_certType" AS ENUM ( ALTER TYPE academy."enum_FreeCodeCampCertification_certType" OWNER TO topcoder; -- --- TOC entry 1558 (class 1247 OID 1363034) +-- TOC entry 1557 (class 1247 OID 1363034) -- Name: enum_FreeCodeCampCertification_learnerLevel; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -555,7 +591,7 @@ CREATE TYPE academy."enum_FreeCodeCampCertification_learnerLevel" AS ENUM ( ALTER TYPE academy."enum_FreeCodeCampCertification_learnerLevel" OWNER TO topcoder; -- --- TOC entry 1561 (class 1247 OID 1363044) +-- TOC entry 1560 (class 1247 OID 1363044) -- Name: enum_FreeCodeCampCertification_state; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -571,7 +607,7 @@ CREATE TYPE academy."enum_FreeCodeCampCertification_state" AS ENUM ( ALTER TYPE academy."enum_FreeCodeCampCertification_state" OWNER TO topcoder; -- --- TOC entry 1564 (class 1247 OID 1363056) +-- TOC entry 1563 (class 1247 OID 1363056) -- Name: enum_TopcoderCertification_learnerLevel; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -586,7 +622,7 @@ CREATE TYPE academy."enum_TopcoderCertification_learnerLevel" AS ENUM ( ALTER TYPE academy."enum_TopcoderCertification_learnerLevel" OWNER TO topcoder; -- --- TOC entry 1567 (class 1247 OID 1363066) +-- TOC entry 1566 (class 1247 OID 1363066) -- Name: enum_TopcoderCertification_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -601,7 +637,7 @@ CREATE TYPE academy."enum_TopcoderCertification_status" AS ENUM ( ALTER TYPE academy."enum_TopcoderCertification_status" OWNER TO topcoder; -- --- TOC entry 1570 (class 1247 OID 1363076) +-- TOC entry 1569 (class 1247 OID 1363076) -- Name: enum_TopcoderUdemyCourse_status; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -616,7 +652,7 @@ CREATE TYPE academy."enum_TopcoderUdemyCourse_status" AS ENUM ( ALTER TYPE academy."enum_TopcoderUdemyCourse_status" OWNER TO topcoder; -- --- TOC entry 1573 (class 1247 OID 1363086) +-- TOC entry 1572 (class 1247 OID 1363086) -- Name: enum_UdemyCourse_level; Type: TYPE; Schema: academy; Owner: topcoder -- @@ -631,7 +667,7 @@ CREATE TYPE academy."enum_UdemyCourse_level" AS ENUM ( ALTER TYPE academy."enum_UdemyCourse_level" OWNER TO topcoder; -- --- TOC entry 1747 (class 1247 OID 1825420) +-- TOC entry 2280 (class 1247 OID 2069908) -- Name: BAStatus; Type: TYPE; Schema: billing-accounts; Owner: billingaccounts -- @@ -644,7 +680,7 @@ CREATE TYPE "billing-accounts"."BAStatus" AS ENUM ( ALTER TYPE "billing-accounts"."BAStatus" OWNER TO billingaccounts; -- --- TOC entry 1744 (class 1247 OID 1825415) +-- TOC entry 2277 (class 1247 OID 2069902) -- Name: ClientStatus; Type: TYPE; Schema: billing-accounts; Owner: billingaccounts -- @@ -657,7 +693,7 @@ CREATE TYPE "billing-accounts"."ClientStatus" AS ENUM ( ALTER TYPE "billing-accounts"."ClientStatus" OWNER TO billingaccounts; -- --- TOC entry 1924 (class 1247 OID 2004858) +-- TOC entry 1899 (class 1247 OID 2004858) -- Name: ChallengeStatusEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -683,7 +719,7 @@ CREATE TYPE challenges."ChallengeStatusEnum" AS ENUM ( ALTER TYPE challenges."ChallengeStatusEnum" OWNER TO challenges; -- --- TOC entry 2008 (class 1247 OID 2005316) +-- TOC entry 1983 (class 1247 OID 2005316) -- Name: ChallengeTrackEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -698,7 +734,7 @@ CREATE TYPE challenges."ChallengeTrackEnum" AS ENUM ( ALTER TYPE challenges."ChallengeTrackEnum" OWNER TO challenges; -- --- TOC entry 1921 (class 1247 OID 2004854) +-- TOC entry 1896 (class 1247 OID 2004854) -- Name: DiscussionTypeEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -710,7 +746,7 @@ CREATE TYPE challenges."DiscussionTypeEnum" AS ENUM ( ALTER TYPE challenges."DiscussionTypeEnum" OWNER TO challenges; -- --- TOC entry 1927 (class 1247 OID 2004890) +-- TOC entry 1902 (class 1247 OID 2004890) -- Name: PrizeSetTypeEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -725,7 +761,7 @@ CREATE TYPE challenges."PrizeSetTypeEnum" AS ENUM ( ALTER TYPE challenges."PrizeSetTypeEnum" OWNER TO challenges; -- --- TOC entry 2002 (class 1247 OID 2005282) +-- TOC entry 1977 (class 1247 OID 2005282) -- Name: ReviewOpportunityTypeEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -741,7 +777,7 @@ CREATE TYPE challenges."ReviewOpportunityTypeEnum" AS ENUM ( ALTER TYPE challenges."ReviewOpportunityTypeEnum" OWNER TO challenges; -- --- TOC entry 1918 (class 1247 OID 2004848) +-- TOC entry 1893 (class 1247 OID 2004848) -- Name: ReviewTypeEnum; Type: TYPE; Schema: challenges; Owner: challenges -- @@ -757,7 +793,7 @@ CREATE TYPE challenges."ReviewTypeEnum" AS ENUM ( ALTER TYPE challenges."ReviewTypeEnum" OWNER TO challenges; -- --- TOC entry 1390 (class 1247 OID 1334282) +-- TOC entry 1398 (class 1247 OID 1334282) -- Name: action_type; Type: TYPE; Schema: finance; Owner: finance -- @@ -773,7 +809,7 @@ CREATE TYPE finance.action_type AS ENUM ( ALTER TYPE finance.action_type OWNER TO finance; -- --- TOC entry 1393 (class 1247 OID 1334304) +-- TOC entry 1401 (class 1247 OID 1334304) -- Name: payment_method_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -788,7 +824,7 @@ CREATE TYPE finance.payment_method_status AS ENUM ( ALTER TYPE finance.payment_method_status OWNER TO finance; -- --- TOC entry 1396 (class 1247 OID 1334314) +-- TOC entry 1404 (class 1247 OID 1334314) -- Name: payment_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -807,7 +843,7 @@ CREATE TYPE finance.payment_status AS ENUM ( ALTER TYPE finance.payment_status OWNER TO finance; -- --- TOC entry 1399 (class 1247 OID 1334328) +-- TOC entry 1407 (class 1247 OID 1334328) -- Name: reference_type; Type: TYPE; Schema: finance; Owner: finance -- @@ -825,7 +861,7 @@ CREATE TYPE finance.reference_type AS ENUM ( ALTER TYPE finance.reference_type OWNER TO finance; -- --- TOC entry 1456 (class 1247 OID 1334766) +-- TOC entry 1455 (class 1247 OID 1334766) -- Name: tax_form_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -838,7 +874,7 @@ CREATE TYPE finance.tax_form_status AS ENUM ( ALTER TYPE finance.tax_form_status OWNER TO finance; -- --- TOC entry 1402 (class 1247 OID 1334354) +-- TOC entry 1410 (class 1247 OID 1334354) -- Name: transaction_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -854,7 +890,7 @@ CREATE TYPE finance.transaction_status AS ENUM ( ALTER TYPE finance.transaction_status OWNER TO finance; -- --- TOC entry 1735 (class 1247 OID 1771164) +-- TOC entry 1734 (class 1247 OID 1771164) -- Name: verification_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -867,7 +903,7 @@ CREATE TYPE finance.verification_status AS ENUM ( ALTER TYPE finance.verification_status OWNER TO finance; -- --- TOC entry 1447 (class 1247 OID 1334733) +-- TOC entry 1446 (class 1247 OID 1334733) -- Name: webhook_status; Type: TYPE; Schema: finance; Owner: finance -- @@ -881,7 +917,7 @@ CREATE TYPE finance.webhook_status AS ENUM ( ALTER TYPE finance.webhook_status OWNER TO finance; -- --- TOC entry 1405 (class 1247 OID 1334366) +-- TOC entry 1413 (class 1247 OID 1334366) -- Name: winnings_category; Type: TYPE; Schema: finance; Owner: finance -- @@ -964,7 +1000,7 @@ CREATE TYPE finance.winnings_category AS ENUM ( ALTER TYPE finance.winnings_category OWNER TO finance; -- --- TOC entry 1408 (class 1247 OID 1334512) +-- TOC entry 1416 (class 1247 OID 1334512) -- Name: winnings_type; Type: TYPE; Schema: finance; Owner: finance -- @@ -977,7 +1013,7 @@ CREATE TYPE finance.winnings_type AS ENUM ( ALTER TYPE finance.winnings_type OWNER TO finance; -- --- TOC entry 2026 (class 1247 OID 2018819) +-- TOC entry 2301 (class 1247 OID 2070272) -- Name: GroupStatus; Type: TYPE; Schema: groups; Owner: groups -- @@ -990,7 +1026,7 @@ CREATE TYPE groups."GroupStatus" AS ENUM ( ALTER TYPE groups."GroupStatus" OWNER TO groups; -- --- TOC entry 2050 (class 1247 OID 2023538) +-- TOC entry 2007 (class 1247 OID 2023538) -- Name: DeviceType; Type: TYPE; Schema: members; Owner: members -- @@ -1008,7 +1044,7 @@ CREATE TYPE members."DeviceType" AS ENUM ( ALTER TYPE members."DeviceType" OWNER TO members; -- --- TOC entry 2047 (class 1247 OID 2023528) +-- TOC entry 2004 (class 1247 OID 2023528) -- Name: FinancialStatus; Type: TYPE; Schema: members; Owner: members -- @@ -1023,7 +1059,7 @@ CREATE TYPE members."FinancialStatus" AS ENUM ( ALTER TYPE members."FinancialStatus" OWNER TO members; -- --- TOC entry 2044 (class 1247 OID 2023514) +-- TOC entry 2001 (class 1247 OID 2023514) -- Name: MemberStatus; Type: TYPE; Schema: members; Owner: members -- @@ -1040,7 +1076,7 @@ CREATE TYPE members."MemberStatus" AS ENUM ( ALTER TYPE members."MemberStatus" OWNER TO members; -- --- TOC entry 2056 (class 1247 OID 2023564) +-- TOC entry 2013 (class 1247 OID 2023564) -- Name: ServiceProviderType; Type: TYPE; Schema: members; Owner: members -- @@ -1056,7 +1092,7 @@ CREATE TYPE members."ServiceProviderType" AS ENUM ( ALTER TYPE members."ServiceProviderType" OWNER TO members; -- --- TOC entry 2053 (class 1247 OID 2023552) +-- TOC entry 2010 (class 1247 OID 2023552) -- Name: SoftwareType; Type: TYPE; Schema: members; Owner: members -- @@ -1072,7 +1108,7 @@ CREATE TYPE members."SoftwareType" AS ENUM ( ALTER TYPE members."SoftwareType" OWNER TO members; -- --- TOC entry 2059 (class 1247 OID 2023576) +-- TOC entry 2016 (class 1247 OID 2023576) -- Name: WorkIndustryType; Type: TYPE; Schema: members; Owner: members -- @@ -1093,7 +1129,7 @@ CREATE TYPE members."WorkIndustryType" AS ENUM ( ALTER TYPE members."WorkIndustryType" OWNER TO members; -- --- TOC entry 1660 (class 1247 OID 1436579) +-- TOC entry 1659 (class 1247 OID 1436579) -- Name: enum_ScheduledEvents_status; Type: TYPE; Schema: notifications; Owner: topcoder -- @@ -1107,7 +1143,7 @@ CREATE TYPE notifications."enum_ScheduledEvents_status" AS ENUM ( ALTER TYPE notifications."enum_ScheduledEvents_status" OWNER TO topcoder; -- --- TOC entry 1274 (class 1247 OID 1323824) +-- TOC entry 1282 (class 1247 OID 1323824) -- Name: enum_project_phase_approval_decision; Type: TYPE; Schema: projects; Owner: topcoder -- @@ -1120,7 +1156,7 @@ CREATE TYPE projects.enum_project_phase_approval_decision AS ENUM ( ALTER TYPE projects.enum_project_phase_approval_decision OWNER TO topcoder; -- --- TOC entry 2194 (class 1247 OID 2033716) +-- TOC entry 2151 (class 1247 OID 2033716) -- Name: ChallengeTrack; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1135,7 +1171,7 @@ CREATE TYPE reviews."ChallengeTrack" AS ENUM ( ALTER TYPE reviews."ChallengeTrack" OWNER TO reviews; -- --- TOC entry 2197 (class 1247 OID 2033726) +-- TOC entry 2154 (class 1247 OID 2033726) -- Name: QuestionType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1149,7 +1185,7 @@ CREATE TYPE reviews."QuestionType" AS ENUM ( ALTER TYPE reviews."QuestionType" OWNER TO reviews; -- --- TOC entry 2242 (class 1247 OID 2033966) +-- TOC entry 2199 (class 1247 OID 2033966) -- Name: ReviewApplicationRole; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1169,7 +1205,7 @@ CREATE TYPE reviews."ReviewApplicationRole" AS ENUM ( ALTER TYPE reviews."ReviewApplicationRole" OWNER TO reviews; -- --- TOC entry 2236 (class 1247 OID 2033944) +-- TOC entry 2193 (class 1247 OID 2033944) -- Name: ReviewApplicationStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1184,7 +1220,7 @@ CREATE TYPE reviews."ReviewApplicationStatus" AS ENUM ( ALTER TYPE reviews."ReviewApplicationStatus" OWNER TO reviews; -- --- TOC entry 2200 (class 1247 OID 2033732) +-- TOC entry 2157 (class 1247 OID 2033732) -- Name: ReviewItemCommentType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1207,7 +1243,7 @@ CREATE TYPE reviews."ReviewItemCommentType" AS ENUM ( ALTER TYPE reviews."ReviewItemCommentType" OWNER TO reviews; -- --- TOC entry 2233 (class 1247 OID 2033936) +-- TOC entry 2190 (class 1247 OID 2033936) -- Name: ReviewOpportunityStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1221,7 +1257,7 @@ CREATE TYPE reviews."ReviewOpportunityStatus" AS ENUM ( ALTER TYPE reviews."ReviewOpportunityStatus" OWNER TO reviews; -- --- TOC entry 2239 (class 1247 OID 2033954) +-- TOC entry 2196 (class 1247 OID 2033954) -- Name: ReviewOpportunityType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1237,7 +1273,7 @@ CREATE TYPE reviews."ReviewOpportunityType" AS ENUM ( ALTER TYPE reviews."ReviewOpportunityType" OWNER TO reviews; -- --- TOC entry 2299 (class 1247 OID 2034313) +-- TOC entry 2256 (class 1247 OID 2034313) -- Name: ReviewStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1255,7 +1291,7 @@ CREATE TYPE reviews."ReviewStatus" AS ENUM ( ALTER TYPE reviews."ReviewStatus" OWNER TO reviews; -- --- TOC entry 2188 (class 1247 OID 2033691) +-- TOC entry 2145 (class 1247 OID 2033691) -- Name: ScorecardStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1269,7 +1305,7 @@ CREATE TYPE reviews."ScorecardStatus" AS ENUM ( ALTER TYPE reviews."ScorecardStatus" OWNER TO reviews; -- --- TOC entry 2191 (class 1247 OID 2033698) +-- TOC entry 2148 (class 1247 OID 2033698) -- Name: ScorecardType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1288,7 +1324,7 @@ CREATE TYPE reviews."ScorecardType" AS ENUM ( ALTER TYPE reviews."ScorecardType" OWNER TO reviews; -- --- TOC entry 2269 (class 1247 OID 2034096) +-- TOC entry 2226 (class 1247 OID 2034096) -- Name: SubmissionStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1306,7 +1342,7 @@ CREATE TYPE reviews."SubmissionStatus" AS ENUM ( ALTER TYPE reviews."SubmissionStatus" OWNER TO reviews; -- --- TOC entry 2266 (class 1247 OID 2034086) +-- TOC entry 2223 (class 1247 OID 2034086) -- Name: SubmissionType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1321,7 +1357,7 @@ CREATE TYPE reviews."SubmissionType" AS ENUM ( ALTER TYPE reviews."SubmissionType" OWNER TO reviews; -- --- TOC entry 2263 (class 1247 OID 2034080) +-- TOC entry 2220 (class 1247 OID 2034080) -- Name: UploadStatus; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1334,7 +1370,7 @@ CREATE TYPE reviews."UploadStatus" AS ENUM ( ALTER TYPE reviews."UploadStatus" OWNER TO reviews; -- --- TOC entry 2260 (class 1247 OID 2034071) +-- TOC entry 2217 (class 1247 OID 2034071) -- Name: UploadType; Type: TYPE; Schema: reviews; Owner: reviews -- @@ -1349,7 +1385,7 @@ CREATE TYPE reviews."UploadType" AS ENUM ( ALTER TYPE reviews."UploadType" OWNER TO reviews; -- --- TOC entry 1687 (class 1247 OID 1475408) +-- TOC entry 1686 (class 1247 OID 1475408) -- Name: enum_interviews_status; Type: TYPE; Schema: taas; Owner: topcoder -- @@ -1367,7 +1403,7 @@ CREATE TYPE taas.enum_interviews_status AS ENUM ( ALTER TYPE taas.enum_interviews_status OWNER TO topcoder; -- --- TOC entry 1690 (class 1247 OID 1475424) +-- TOC entry 1689 (class 1247 OID 1475424) -- Name: enum_payment_schedulers_status; Type: TYPE; Schema: taas; Owner: topcoder -- @@ -1381,7 +1417,7 @@ CREATE TYPE taas.enum_payment_schedulers_status AS ENUM ( ALTER TYPE taas.enum_payment_schedulers_status OWNER TO topcoder; -- --- TOC entry 1693 (class 1247 OID 1475432) +-- TOC entry 1692 (class 1247 OID 1475432) -- Name: enum_payment_schedulers_step; Type: TYPE; Schema: taas; Owner: topcoder -- @@ -1398,7 +1434,7 @@ CREATE TYPE taas.enum_payment_schedulers_step AS ENUM ( ALTER TYPE taas.enum_payment_schedulers_step OWNER TO topcoder; -- --- TOC entry 1696 (class 1247 OID 1475446) +-- TOC entry 1695 (class 1247 OID 1475446) -- Name: enum_work_period_payments_status; Type: TYPE; Schema: taas; Owner: topcoder -- @@ -1414,7 +1450,7 @@ CREATE TYPE taas.enum_work_period_payments_status AS ENUM ( ALTER TYPE taas.enum_work_period_payments_status OWNER TO topcoder; -- --- TOC entry 1510 (class 1247 OID 1352752) +-- TOC entry 1509 (class 1247 OID 1352752) -- Name: event-status; Type: TYPE; Schema: timeline; Owner: topcoder -- @@ -1447,7 +1483,49 @@ $$; ALTER FUNCTION projects.project_text_update_trigger() OWNER TO topcoder; -- --- TOC entry 655 (class 1255 OID 2033683) +-- TOC entry 664 (class 1255 OID 2066978) +-- Name: handle_appeal_change(); Type: FUNCTION; Schema: reviews; Owner: reviews +-- + +CREATE FUNCTION reviews.handle_appeal_change() RETURNS trigger + LANGUAGE plpgsql + AS $$ +BEGIN + PERFORM reviews.update_review_pending_summary_for_resource(NEW."resourceId"); + RETURN NEW; +END; +$$; + + +ALTER FUNCTION reviews.handle_appeal_change() OWNER TO reviews; + +-- +-- TOC entry 665 (class 1255 OID 2066980) +-- Name: handle_appeal_response_change(); Type: FUNCTION; Schema: reviews; Owner: reviews +-- + +CREATE FUNCTION reviews.handle_appeal_response_change() RETURNS trigger + LANGUAGE plpgsql + AS $$ +DECLARE + target_resource text; +BEGIN + IF TG_OP IN ('INSERT','UPDATE') THEN + target_resource := NEW."resourceId"; + ELSE + target_resource := OLD."resourceId"; + END IF; + + PERFORM reviews.update_review_pending_summary_for_resource(target_resource); + RETURN COALESCE(NEW, OLD); +END; +$$; + + +ALTER FUNCTION reviews.handle_appeal_response_change() OWNER TO reviews; + +-- +-- TOC entry 662 (class 1255 OID 2033683) -- Name: nanoid(integer); Type: FUNCTION; Schema: reviews; Owner: reviews -- @@ -1475,12 +1553,55 @@ $$; ALTER FUNCTION reviews.nanoid(size integer) OWNER TO reviews; +-- +-- TOC entry 663 (class 1255 OID 2066977) +-- Name: update_review_pending_summary_for_resource(text); Type: FUNCTION; Schema: reviews; Owner: reviews +-- + +CREATE FUNCTION reviews.update_review_pending_summary_for_resource(p_resource_id text) RETURNS void + LANGUAGE plpgsql + AS $$ +DECLARE + pending_count integer; +BEGIN + SELECT COUNT(*) + INTO pending_count + FROM reviews.review rv + JOIN reviews."reviewItem" ri + ON ri."reviewId" = rv.id + JOIN reviews."reviewItemComment" ric + ON ric."reviewItemId" = ri.id + JOIN reviews.appeal ap + ON ap."reviewItemCommentId" = ric.id + LEFT JOIN reviews."appealResponse" apr + ON apr."appealId" = ap.id + AND apr."resourceId" = rv."resourceId" + WHERE rv."resourceId" = p_resource_id + AND apr.id IS NULL; + + IF pending_count > 0 THEN + INSERT INTO reviews.review_pending_summary ("resourceId", "pendingAppealCount", "updatedAt") + VALUES (p_resource_id, pending_count, now()) + ON CONFLICT ("resourceId") + DO UPDATE SET + "pendingAppealCount" = EXCLUDED."pendingAppealCount", + "updatedAt" = now(); + ELSE + DELETE FROM reviews.review_pending_summary + WHERE "resourceId" = p_resource_id; + END IF; +END; +$$; + + +ALTER FUNCTION reviews.update_review_pending_summary_for_resource(p_resource_id text) OWNER TO reviews; + SET default_tablespace = ''; SET default_table_access_method = heap; -- --- TOC entry 347 (class 1259 OID 1363095) +-- TOC entry 344 (class 1259 OID 1363095) -- Name: CertificationCategory; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1496,7 +1617,7 @@ CREATE TABLE academy."CertificationCategory" ( ALTER TABLE academy."CertificationCategory" OWNER TO topcoder; -- --- TOC entry 348 (class 1259 OID 1363100) +-- TOC entry 345 (class 1259 OID 1363100) -- Name: CertificationCategory_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1512,8 +1633,8 @@ CREATE SEQUENCE academy."CertificationCategory_id_seq" ALTER SEQUENCE academy."CertificationCategory_id_seq" OWNER TO topcoder; -- --- TOC entry 7642 (class 0 OID 0) --- Dependencies: 348 +-- TOC entry 7741 (class 0 OID 0) +-- Dependencies: 345 -- Name: CertificationCategory_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1521,7 +1642,7 @@ ALTER SEQUENCE academy."CertificationCategory_id_seq" OWNED BY academy."Certific -- --- TOC entry 349 (class 1259 OID 1363101) +-- TOC entry 346 (class 1259 OID 1363101) -- Name: CertificationEnrollments; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1543,7 +1664,7 @@ CREATE TABLE academy."CertificationEnrollments" ( ALTER TABLE academy."CertificationEnrollments" OWNER TO topcoder; -- --- TOC entry 350 (class 1259 OID 1363107) +-- TOC entry 347 (class 1259 OID 1363107) -- Name: CertificationEnrollments_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1559,8 +1680,8 @@ CREATE SEQUENCE academy."CertificationEnrollments_id_seq" ALTER SEQUENCE academy."CertificationEnrollments_id_seq" OWNER TO topcoder; -- --- TOC entry 7645 (class 0 OID 0) --- Dependencies: 350 +-- TOC entry 7744 (class 0 OID 0) +-- Dependencies: 347 -- Name: CertificationEnrollments_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1568,7 +1689,7 @@ ALTER SEQUENCE academy."CertificationEnrollments_id_seq" OWNED BY academy."Certi -- --- TOC entry 351 (class 1259 OID 1363108) +-- TOC entry 348 (class 1259 OID 1363108) -- Name: CertificationResource; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1590,7 +1711,7 @@ CREATE TABLE academy."CertificationResource" ( ALTER TABLE academy."CertificationResource" OWNER TO topcoder; -- --- TOC entry 352 (class 1259 OID 1363113) +-- TOC entry 349 (class 1259 OID 1363113) -- Name: CertificationResourceProgresses; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1609,7 +1730,7 @@ CREATE TABLE academy."CertificationResourceProgresses" ( ALTER TABLE academy."CertificationResourceProgresses" OWNER TO topcoder; -- --- TOC entry 353 (class 1259 OID 1363117) +-- TOC entry 350 (class 1259 OID 1363117) -- Name: CertificationResourceProgresses_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1625,8 +1746,8 @@ CREATE SEQUENCE academy."CertificationResourceProgresses_id_seq" ALTER SEQUENCE academy."CertificationResourceProgresses_id_seq" OWNER TO topcoder; -- --- TOC entry 7649 (class 0 OID 0) --- Dependencies: 353 +-- TOC entry 7748 (class 0 OID 0) +-- Dependencies: 350 -- Name: CertificationResourceProgresses_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1634,7 +1755,7 @@ ALTER SEQUENCE academy."CertificationResourceProgresses_id_seq" OWNED BY academy -- --- TOC entry 354 (class 1259 OID 1363118) +-- TOC entry 351 (class 1259 OID 1363118) -- Name: CertificationResource_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1650,8 +1771,8 @@ CREATE SEQUENCE academy."CertificationResource_id_seq" ALTER SEQUENCE academy."CertificationResource_id_seq" OWNER TO topcoder; -- --- TOC entry 7651 (class 0 OID 0) --- Dependencies: 354 +-- TOC entry 7750 (class 0 OID 0) +-- Dependencies: 351 -- Name: CertificationResource_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1659,7 +1780,7 @@ ALTER SEQUENCE academy."CertificationResource_id_seq" OWNED BY academy."Certific -- --- TOC entry 355 (class 1259 OID 1363119) +-- TOC entry 352 (class 1259 OID 1363119) -- Name: DataVersion; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1671,7 +1792,7 @@ CREATE TABLE academy."DataVersion" ( ALTER TABLE academy."DataVersion" OWNER TO topcoder; -- --- TOC entry 356 (class 1259 OID 1363122) +-- TOC entry 353 (class 1259 OID 1363122) -- Name: FccCertificationProgresses; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1704,7 +1825,7 @@ CREATE TABLE academy."FccCertificationProgresses" ( ALTER TABLE academy."FccCertificationProgresses" OWNER TO topcoder; -- --- TOC entry 357 (class 1259 OID 1363127) +-- TOC entry 354 (class 1259 OID 1363127) -- Name: FccCertificationProgresses_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1720,8 +1841,8 @@ CREATE SEQUENCE academy."FccCertificationProgresses_id_seq" ALTER SEQUENCE academy."FccCertificationProgresses_id_seq" OWNER TO topcoder; -- --- TOC entry 7655 (class 0 OID 0) --- Dependencies: 357 +-- TOC entry 7754 (class 0 OID 0) +-- Dependencies: 354 -- Name: FccCertificationProgresses_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1729,7 +1850,7 @@ ALTER SEQUENCE academy."FccCertificationProgresses_id_seq" OWNED BY academy."Fcc -- --- TOC entry 358 (class 1259 OID 1363128) +-- TOC entry 355 (class 1259 OID 1363128) -- Name: FccCompletedLessons; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1744,7 +1865,7 @@ CREATE TABLE academy."FccCompletedLessons" ( ALTER TABLE academy."FccCompletedLessons" OWNER TO topcoder; -- --- TOC entry 359 (class 1259 OID 1363133) +-- TOC entry 356 (class 1259 OID 1363133) -- Name: FccCourses; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1771,7 +1892,7 @@ CREATE TABLE academy."FccCourses" ( ALTER TABLE academy."FccCourses" OWNER TO topcoder; -- --- TOC entry 360 (class 1259 OID 1363139) +-- TOC entry 357 (class 1259 OID 1363139) -- Name: FccCourses_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1787,8 +1908,8 @@ CREATE SEQUENCE academy."FccCourses_id_seq" ALTER SEQUENCE academy."FccCourses_id_seq" OWNER TO topcoder; -- --- TOC entry 7659 (class 0 OID 0) --- Dependencies: 360 +-- TOC entry 7758 (class 0 OID 0) +-- Dependencies: 357 -- Name: FccCourses_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1796,7 +1917,7 @@ ALTER SEQUENCE academy."FccCourses_id_seq" OWNED BY academy."FccCourses".id; -- --- TOC entry 361 (class 1259 OID 1363140) +-- TOC entry 358 (class 1259 OID 1363140) -- Name: FccLessons; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1815,7 +1936,7 @@ CREATE TABLE academy."FccLessons" ( ALTER TABLE academy."FccLessons" OWNER TO topcoder; -- --- TOC entry 362 (class 1259 OID 1363146) +-- TOC entry 359 (class 1259 OID 1363146) -- Name: FccModuleProgresses; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1837,7 +1958,7 @@ CREATE TABLE academy."FccModuleProgresses" ( ALTER TABLE academy."FccModuleProgresses" OWNER TO topcoder; -- --- TOC entry 363 (class 1259 OID 1363150) +-- TOC entry 360 (class 1259 OID 1363150) -- Name: FccModuleProgresses_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1853,8 +1974,8 @@ CREATE SEQUENCE academy."FccModuleProgresses_id_seq" ALTER SEQUENCE academy."FccModuleProgresses_id_seq" OWNER TO topcoder; -- --- TOC entry 7663 (class 0 OID 0) --- Dependencies: 363 +-- TOC entry 7762 (class 0 OID 0) +-- Dependencies: 360 -- Name: FccModuleProgresses_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1862,7 +1983,7 @@ ALTER SEQUENCE academy."FccModuleProgresses_id_seq" OWNED BY academy."FccModuleP -- --- TOC entry 364 (class 1259 OID 1363151) +-- TOC entry 361 (class 1259 OID 1363151) -- Name: FccModules; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1885,7 +2006,7 @@ CREATE TABLE academy."FccModules" ( ALTER TABLE academy."FccModules" OWNER TO topcoder; -- --- TOC entry 365 (class 1259 OID 1363157) +-- TOC entry 362 (class 1259 OID 1363157) -- Name: FccModules_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1901,8 +2022,8 @@ CREATE SEQUENCE academy."FccModules_id_seq" ALTER SEQUENCE academy."FccModules_id_seq" OWNER TO topcoder; -- --- TOC entry 7666 (class 0 OID 0) --- Dependencies: 365 +-- TOC entry 7765 (class 0 OID 0) +-- Dependencies: 362 -- Name: FccModules_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1910,7 +2031,7 @@ ALTER SEQUENCE academy."FccModules_id_seq" OWNED BY academy."FccModules".id; -- --- TOC entry 366 (class 1259 OID 1363158) +-- TOC entry 363 (class 1259 OID 1363158) -- Name: FreeCodeCampCertification; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1937,7 +2058,7 @@ CREATE TABLE academy."FreeCodeCampCertification" ( ALTER TABLE academy."FreeCodeCampCertification" OWNER TO topcoder; -- --- TOC entry 367 (class 1259 OID 1363166) +-- TOC entry 364 (class 1259 OID 1363166) -- Name: FreeCodeCampCertification_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1953,8 +2074,8 @@ CREATE SEQUENCE academy."FreeCodeCampCertification_id_seq" ALTER SEQUENCE academy."FreeCodeCampCertification_id_seq" OWNER TO topcoder; -- --- TOC entry 7669 (class 0 OID 0) --- Dependencies: 367 +-- TOC entry 7768 (class 0 OID 0) +-- Dependencies: 364 -- Name: FreeCodeCampCertification_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -1962,7 +2083,7 @@ ALTER SEQUENCE academy."FreeCodeCampCertification_id_seq" OWNED BY academy."Free -- --- TOC entry 368 (class 1259 OID 1363167) +-- TOC entry 365 (class 1259 OID 1363167) -- Name: ResourceProvider; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -1980,7 +2101,7 @@ CREATE TABLE academy."ResourceProvider" ( ALTER TABLE academy."ResourceProvider" OWNER TO topcoder; -- --- TOC entry 369 (class 1259 OID 1363172) +-- TOC entry 366 (class 1259 OID 1363172) -- Name: ResourceProvider_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -1996,8 +2117,8 @@ CREATE SEQUENCE academy."ResourceProvider_id_seq" ALTER SEQUENCE academy."ResourceProvider_id_seq" OWNER TO topcoder; -- --- TOC entry 7672 (class 0 OID 0) --- Dependencies: 369 +-- TOC entry 7771 (class 0 OID 0) +-- Dependencies: 366 -- Name: ResourceProvider_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -2005,7 +2126,7 @@ ALTER SEQUENCE academy."ResourceProvider_id_seq" OWNED BY academy."ResourceProvi -- --- TOC entry 370 (class 1259 OID 1363173) +-- TOC entry 367 (class 1259 OID 1363173) -- Name: SequelizeMeta; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -2017,7 +2138,7 @@ CREATE TABLE academy."SequelizeMeta" ( ALTER TABLE academy."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 371 (class 1259 OID 1363176) +-- TOC entry 368 (class 1259 OID 1363176) -- Name: TopcoderCertification; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -2045,7 +2166,7 @@ CREATE TABLE academy."TopcoderCertification" ( ALTER TABLE academy."TopcoderCertification" OWNER TO topcoder; -- --- TOC entry 372 (class 1259 OID 1363183) +-- TOC entry 369 (class 1259 OID 1363183) -- Name: TopcoderCertification_id_seq; Type: SEQUENCE; Schema: academy; Owner: topcoder -- @@ -2061,8 +2182,8 @@ CREATE SEQUENCE academy."TopcoderCertification_id_seq" ALTER SEQUENCE academy."TopcoderCertification_id_seq" OWNER TO topcoder; -- --- TOC entry 7676 (class 0 OID 0) --- Dependencies: 372 +-- TOC entry 7775 (class 0 OID 0) +-- Dependencies: 369 -- Name: TopcoderCertification_id_seq; Type: SEQUENCE OWNED BY; Schema: academy; Owner: topcoder -- @@ -2070,7 +2191,7 @@ ALTER SEQUENCE academy."TopcoderCertification_id_seq" OWNED BY academy."Topcoder -- --- TOC entry 373 (class 1259 OID 1363184) +-- TOC entry 370 (class 1259 OID 1363184) -- Name: TopcoderUdemyCourse; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -2086,7 +2207,7 @@ CREATE TABLE academy."TopcoderUdemyCourse" ( ALTER TABLE academy."TopcoderUdemyCourse" OWNER TO topcoder; -- --- TOC entry 374 (class 1259 OID 1363190) +-- TOC entry 371 (class 1259 OID 1363190) -- Name: UdemyCourse; Type: TABLE; Schema: academy; Owner: topcoder -- @@ -2119,7 +2240,7 @@ CREATE TABLE academy."UdemyCourse" ( ALTER TABLE academy."UdemyCourse" OWNER TO topcoder; -- --- TOC entry 375 (class 1259 OID 1363195) +-- TOC entry 372 (class 1259 OID 1363195) -- Name: fccCertsModulesLessons; Type: MATERIALIZED VIEW; Schema: academy; Owner: topcoder -- @@ -2139,7 +2260,25 @@ CREATE MATERIALIZED VIEW academy."fccCertsModulesLessons" AS ALTER MATERIALIZED VIEW academy."fccCertsModulesLessons" OWNER TO topcoder; -- --- TOC entry 438 (class 1259 OID 1825434) +-- TOC entry 599 (class 1259 OID 2061240) +-- Name: actions; Type: TABLE; Schema: autopilot; Owner: autopilot +-- + +CREATE TABLE autopilot.actions ( + id uuid NOT NULL, + "challengeId" text, + action text NOT NULL, + status text DEFAULT 'SUCCESS'::text NOT NULL, + source text, + details jsonb, + "createdAt" timestamp with time zone DEFAULT now() NOT NULL +); + + +ALTER TABLE autopilot.actions OWNER TO autopilot; + +-- +-- TOC entry 603 (class 1259 OID 2069922) -- Name: BillingAccount; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2169,7 +2308,7 @@ CREATE TABLE "billing-accounts"."BillingAccount" ( ALTER TABLE "billing-accounts"."BillingAccount" OWNER TO billingaccounts; -- --- TOC entry 441 (class 1259 OID 1825461) +-- TOC entry 606 (class 1259 OID 2069949) -- Name: BillingAccountAccess; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2184,7 +2323,7 @@ CREATE TABLE "billing-accounts"."BillingAccountAccess" ( ALTER TABLE "billing-accounts"."BillingAccountAccess" OWNER TO billingaccounts; -- --- TOC entry 442 (class 1259 OID 1825503) +-- TOC entry 607 (class 1259 OID 2069991) -- Name: BillingAccount_id_seq; Type: SEQUENCE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2200,8 +2339,8 @@ CREATE SEQUENCE "billing-accounts"."BillingAccount_id_seq" ALTER SEQUENCE "billing-accounts"."BillingAccount_id_seq" OWNER TO billingaccounts; -- --- TOC entry 7681 (class 0 OID 0) --- Dependencies: 442 +-- TOC entry 7783 (class 0 OID 0) +-- Dependencies: 607 -- Name: BillingAccount_id_seq; Type: SEQUENCE OWNED BY; Schema: billing-accounts; Owner: billingaccounts -- @@ -2209,7 +2348,7 @@ ALTER SEQUENCE "billing-accounts"."BillingAccount_id_seq" OWNED BY "billing-acco -- --- TOC entry 437 (class 1259 OID 1825425) +-- TOC entry 602 (class 1259 OID 2069913) -- Name: Client; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2228,7 +2367,7 @@ CREATE TABLE "billing-accounts"."Client" ( ALTER TABLE "billing-accounts"."Client" OWNER TO billingaccounts; -- --- TOC entry 440 (class 1259 OID 1825453) +-- TOC entry 605 (class 1259 OID 2069941) -- Name: ConsumedAmount; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2245,7 +2384,7 @@ CREATE TABLE "billing-accounts"."ConsumedAmount" ( ALTER TABLE "billing-accounts"."ConsumedAmount" OWNER TO billingaccounts; -- --- TOC entry 439 (class 1259 OID 1825445) +-- TOC entry 604 (class 1259 OID 2069933) -- Name: LockedAmount; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2262,7 +2401,7 @@ CREATE TABLE "billing-accounts"."LockedAmount" ( ALTER TABLE "billing-accounts"."LockedAmount" OWNER TO billingaccounts; -- --- TOC entry 436 (class 1259 OID 1825405) +-- TOC entry 601 (class 1259 OID 2069892) -- Name: _prisma_migrations; Type: TABLE; Schema: billing-accounts; Owner: billingaccounts -- @@ -2281,7 +2420,7 @@ CREATE TABLE "billing-accounts"._prisma_migrations ( ALTER TABLE "billing-accounts"._prisma_migrations OWNER TO billingaccounts; -- --- TOC entry 486 (class 1259 OID 2004945) +-- TOC entry 476 (class 1259 OID 2004945) -- Name: Attachment; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2302,7 +2441,7 @@ CREATE TABLE challenges."Attachment" ( ALTER TABLE challenges."Attachment" OWNER TO challenges; -- --- TOC entry 485 (class 1259 OID 2004937) +-- TOC entry 475 (class 1259 OID 2004937) -- Name: AuditLog; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2321,7 +2460,7 @@ CREATE TABLE challenges."AuditLog" ( ALTER TABLE challenges."AuditLog" OWNER TO challenges; -- --- TOC entry 481 (class 1259 OID 2004899) +-- TOC entry 471 (class 1259 OID 2004899) -- Name: Challenge; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2365,7 +2504,7 @@ CREATE TABLE challenges."Challenge" ( ALTER TABLE challenges."Challenge" OWNER TO challenges; -- --- TOC entry 492 (class 1259 OID 2004993) +-- TOC entry 482 (class 1259 OID 2004993) -- Name: ChallengeBilling; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2385,7 +2524,7 @@ CREATE TABLE challenges."ChallengeBilling" ( ALTER TABLE challenges."ChallengeBilling" OWNER TO challenges; -- --- TOC entry 497 (class 1259 OID 2005040) +-- TOC entry 487 (class 1259 OID 2005040) -- Name: ChallengeConstraint; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2403,7 +2542,7 @@ CREATE TABLE challenges."ChallengeConstraint" ( ALTER TABLE challenges."ChallengeConstraint" OWNER TO challenges; -- --- TOC entry 495 (class 1259 OID 2005024) +-- TOC entry 485 (class 1259 OID 2005024) -- Name: ChallengeDiscussion; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2425,7 +2564,7 @@ CREATE TABLE challenges."ChallengeDiscussion" ( ALTER TABLE challenges."ChallengeDiscussion" OWNER TO challenges; -- --- TOC entry 496 (class 1259 OID 2005032) +-- TOC entry 486 (class 1259 OID 2005032) -- Name: ChallengeDiscussionOption; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2444,7 +2583,7 @@ CREATE TABLE challenges."ChallengeDiscussionOption" ( ALTER TABLE challenges."ChallengeDiscussionOption" OWNER TO challenges; -- --- TOC entry 494 (class 1259 OID 2005016) +-- TOC entry 484 (class 1259 OID 2005016) -- Name: ChallengeEvent; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2464,7 +2603,7 @@ CREATE TABLE challenges."ChallengeEvent" ( ALTER TABLE challenges."ChallengeEvent" OWNER TO challenges; -- --- TOC entry 493 (class 1259 OID 2005001) +-- TOC entry 483 (class 1259 OID 2005001) -- Name: ChallengeLegacy; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2496,7 +2635,7 @@ CREATE TABLE challenges."ChallengeLegacy" ( ALTER TABLE challenges."ChallengeLegacy" OWNER TO challenges; -- --- TOC entry 487 (class 1259 OID 2004953) +-- TOC entry 477 (class 1259 OID 2004953) -- Name: ChallengeMetadata; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2515,7 +2654,7 @@ CREATE TABLE challenges."ChallengeMetadata" ( ALTER TABLE challenges."ChallengeMetadata" OWNER TO challenges; -- --- TOC entry 499 (class 1259 OID 2005057) +-- TOC entry 489 (class 1259 OID 2005057) -- Name: ChallengePhase; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2542,7 +2681,7 @@ CREATE TABLE challenges."ChallengePhase" ( ALTER TABLE challenges."ChallengePhase" OWNER TO challenges; -- --- TOC entry 500 (class 1259 OID 2005066) +-- TOC entry 490 (class 1259 OID 2005066) -- Name: ChallengePhaseConstraint; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2561,7 +2700,7 @@ CREATE TABLE challenges."ChallengePhaseConstraint" ( ALTER TABLE challenges."ChallengePhaseConstraint" OWNER TO challenges; -- --- TOC entry 501 (class 1259 OID 2005074) +-- TOC entry 491 (class 1259 OID 2005074) -- Name: ChallengePrizeSet; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2580,7 +2719,7 @@ CREATE TABLE challenges."ChallengePrizeSet" ( ALTER TABLE challenges."ChallengePrizeSet" OWNER TO challenges; -- --- TOC entry 504 (class 1259 OID 2005251) +-- TOC entry 494 (class 1259 OID 2005251) -- Name: ChallengeReviewer; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2607,7 +2746,7 @@ CREATE TABLE challenges."ChallengeReviewer" ( ALTER TABLE challenges."ChallengeReviewer" OWNER TO challenges; -- --- TOC entry 491 (class 1259 OID 2004985) +-- TOC entry 481 (class 1259 OID 2004985) -- Name: ChallengeSkill; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2625,7 +2764,7 @@ CREATE TABLE challenges."ChallengeSkill" ( ALTER TABLE challenges."ChallengeSkill" OWNER TO challenges; -- --- TOC entry 490 (class 1259 OID 2004977) +-- TOC entry 480 (class 1259 OID 2004977) -- Name: ChallengeTerm; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2644,7 +2783,7 @@ CREATE TABLE challenges."ChallengeTerm" ( ALTER TABLE challenges."ChallengeTerm" OWNER TO challenges; -- --- TOC entry 484 (class 1259 OID 2004928) +-- TOC entry 474 (class 1259 OID 2004928) -- Name: ChallengeTimelineTemplate; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2664,7 +2803,7 @@ CREATE TABLE challenges."ChallengeTimelineTemplate" ( ALTER TABLE challenges."ChallengeTimelineTemplate" OWNER TO challenges; -- --- TOC entry 483 (class 1259 OID 2004920) +-- TOC entry 473 (class 1259 OID 2004920) -- Name: ChallengeTrack; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2686,7 +2825,7 @@ CREATE TABLE challenges."ChallengeTrack" ( ALTER TABLE challenges."ChallengeTrack" OWNER TO challenges; -- --- TOC entry 482 (class 1259 OID 2004910) +-- TOC entry 472 (class 1259 OID 2004910) -- Name: ChallengeType; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2707,7 +2846,7 @@ CREATE TABLE challenges."ChallengeType" ( ALTER TABLE challenges."ChallengeType" OWNER TO challenges; -- --- TOC entry 489 (class 1259 OID 2004969) +-- TOC entry 479 (class 1259 OID 2004969) -- Name: ChallengeWinner; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2728,7 +2867,7 @@ CREATE TABLE challenges."ChallengeWinner" ( ALTER TABLE challenges."ChallengeWinner" OWNER TO challenges; -- --- TOC entry 505 (class 1259 OID 2005293) +-- TOC entry 495 (class 1259 OID 2005293) -- Name: DefaultChallengeReviewer; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2743,7 +2882,7 @@ CREATE TABLE challenges."DefaultChallengeReviewer" ( "baseCoefficient" double precision, "incrementalCoefficient" double precision, "opportunityType" challenges."ReviewOpportunityTypeEnum", - "isAIReviewer" boolean NOT NULL, + "isAIReviewer" boolean, "createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, "createdBy" text NOT NULL, "updatedAt" timestamp(3) without time zone NOT NULL, @@ -2758,7 +2897,43 @@ CREATE TABLE challenges."DefaultChallengeReviewer" ( ALTER TABLE challenges."DefaultChallengeReviewer" OWNER TO challenges; -- --- TOC entry 498 (class 1259 OID 2005049) +-- TOC entry 498 (class 1259 OID 2015711) +-- Name: Resource; Type: TABLE; Schema: resources; Owner: resources +-- + +CREATE TABLE resources."Resource" ( + id text NOT NULL, + "challengeId" text NOT NULL, + "memberId" text NOT NULL, + "memberHandle" text NOT NULL, + "roleId" text NOT NULL, + "createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, + "createdBy" text NOT NULL, + "updatedAt" timestamp(3) without time zone, + "updatedBy" text, + "legacyId" integer, + "phaseChangeNotifications" boolean DEFAULT true +); + + +ALTER TABLE resources."Resource" OWNER TO resources; + +-- +-- TOC entry 613 (class 1259 OID 2108454) +-- Name: MemberChallengeAccess; Type: VIEW; Schema: challenges; Owner: challenges +-- + +CREATE VIEW challenges."MemberChallengeAccess" AS + SELECT DISTINCT "challengeId", + "memberId" + FROM resources."Resource" r + WHERE (("challengeId" IS NOT NULL) AND ("memberId" IS NOT NULL)); + + +ALTER VIEW challenges."MemberChallengeAccess" OWNER TO challenges; + +-- +-- TOC entry 488 (class 1259 OID 2005049) -- Name: Phase; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2778,7 +2953,7 @@ CREATE TABLE challenges."Phase" ( ALTER TABLE challenges."Phase" OWNER TO challenges; -- --- TOC entry 488 (class 1259 OID 2004961) +-- TOC entry 478 (class 1259 OID 2004961) -- Name: Prize; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2798,7 +2973,7 @@ CREATE TABLE challenges."Prize" ( ALTER TABLE challenges."Prize" OWNER TO challenges; -- --- TOC entry 502 (class 1259 OID 2005082) +-- TOC entry 492 (class 1259 OID 2005082) -- Name: TimelineTemplate; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2817,7 +2992,7 @@ CREATE TABLE challenges."TimelineTemplate" ( ALTER TABLE challenges."TimelineTemplate" OWNER TO challenges; -- --- TOC entry 503 (class 1259 OID 2005091) +-- TOC entry 493 (class 1259 OID 2005091) -- Name: TimelineTemplatePhase; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2837,7 +3012,7 @@ CREATE TABLE challenges."TimelineTemplatePhase" ( ALTER TABLE challenges."TimelineTemplatePhase" OWNER TO challenges; -- --- TOC entry 480 (class 1259 OID 2004828) +-- TOC entry 470 (class 1259 OID 2004828) -- Name: _prisma_migrations; Type: TABLE; Schema: challenges; Owner: challenges -- @@ -2856,7 +3031,7 @@ CREATE TABLE challenges._prisma_migrations ( ALTER TABLE challenges._prisma_migrations OWNER TO challenges; -- --- TOC entry 385 (class 1259 OID 1363875) +-- TOC entry 382 (class 1259 OID 1363875) -- Name: Emails; Type: TABLE; Schema: emails; Owner: topcoder -- @@ -2874,7 +3049,7 @@ CREATE TABLE emails."Emails" ( ALTER TABLE emails."Emails" OWNER TO topcoder; -- --- TOC entry 386 (class 1259 OID 1363880) +-- TOC entry 383 (class 1259 OID 1363880) -- Name: Emails_id_seq; Type: SEQUENCE; Schema: emails; Owner: topcoder -- @@ -2889,8 +3064,8 @@ CREATE SEQUENCE emails."Emails_id_seq" ALTER SEQUENCE emails."Emails_id_seq" OWNER TO topcoder; -- --- TOC entry 7683 (class 0 OID 0) --- Dependencies: 386 +-- TOC entry 7816 (class 0 OID 0) +-- Dependencies: 383 -- Name: Emails_id_seq; Type: SEQUENCE OWNED BY; Schema: emails; Owner: topcoder -- @@ -2898,7 +3073,7 @@ ALTER SEQUENCE emails."Emails_id_seq" OWNED BY emails."Emails".id; -- --- TOC entry 304 (class 1259 OID 1334272) +-- TOC entry 306 (class 1259 OID 1334272) -- Name: _prisma_migrations; Type: TABLE; Schema: finance; Owner: finance -- @@ -2917,7 +3092,7 @@ CREATE TABLE finance._prisma_migrations ( ALTER TABLE finance._prisma_migrations OWNER TO finance; -- --- TOC entry 305 (class 1259 OID 1334517) +-- TOC entry 307 (class 1259 OID 1334517) -- Name: audit; Type: TABLE; Schema: finance; Owner: finance -- @@ -2934,7 +3109,47 @@ CREATE TABLE finance.audit ( ALTER TABLE finance.audit OWNER TO finance; -- --- TOC entry 307 (class 1259 OID 1334533) +-- TOC entry 598 (class 1259 OID 2055330) +-- Name: challenge_lock; Type: TABLE; Schema: finance; Owner: finance +-- + +CREATE TABLE finance.challenge_lock ( + id integer NOT NULL, + external_id character varying(255) NOT NULL, + lock_time timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, + error text +); + + +ALTER TABLE finance.challenge_lock OWNER TO finance; + +-- +-- TOC entry 597 (class 1259 OID 2055329) +-- Name: challenge_lock_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance +-- + +CREATE SEQUENCE finance.challenge_lock_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE finance.challenge_lock_id_seq OWNER TO finance; + +-- +-- TOC entry 7821 (class 0 OID 0) +-- Dependencies: 597 +-- Name: challenge_lock_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance +-- + +ALTER SEQUENCE finance.challenge_lock_id_seq OWNED BY finance.challenge_lock.id; + + +-- +-- TOC entry 309 (class 1259 OID 1334533) -- Name: origin; Type: TABLE; Schema: finance; Owner: finance -- @@ -2947,7 +3162,7 @@ CREATE TABLE finance.origin ( ALTER TABLE finance.origin OWNER TO finance; -- --- TOC entry 306 (class 1259 OID 1334532) +-- TOC entry 308 (class 1259 OID 1334532) -- Name: origin_origin_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance -- @@ -2963,8 +3178,8 @@ CREATE SEQUENCE finance.origin_origin_id_seq ALTER SEQUENCE finance.origin_origin_id_seq OWNER TO finance; -- --- TOC entry 7685 (class 0 OID 0) --- Dependencies: 306 +-- TOC entry 7823 (class 0 OID 0) +-- Dependencies: 308 -- Name: origin_origin_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance -- @@ -2972,7 +3187,7 @@ ALTER SEQUENCE finance.origin_origin_id_seq OWNED BY finance.origin.origin_id; -- --- TOC entry 308 (class 1259 OID 1334539) +-- TOC entry 310 (class 1259 OID 1334539) -- Name: otp; Type: TABLE; Schema: finance; Owner: finance -- @@ -2991,7 +3206,7 @@ CREATE TABLE finance.otp ( ALTER TABLE finance.otp OWNER TO finance; -- --- TOC entry 309 (class 1259 OID 1334550) +-- TOC entry 311 (class 1259 OID 1334550) -- Name: payment; Type: TABLE; Schema: finance; Owner: finance -- @@ -3021,7 +3236,7 @@ CREATE TABLE finance.payment ( ALTER TABLE finance.payment OWNER TO finance; -- --- TOC entry 311 (class 1259 OID 1334563) +-- TOC entry 313 (class 1259 OID 1334563) -- Name: payment_method; Type: TABLE; Schema: finance; Owner: finance -- @@ -3036,7 +3251,7 @@ CREATE TABLE finance.payment_method ( ALTER TABLE finance.payment_method OWNER TO finance; -- --- TOC entry 310 (class 1259 OID 1334562) +-- TOC entry 312 (class 1259 OID 1334562) -- Name: payment_method_payment_method_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance -- @@ -3052,8 +3267,8 @@ CREATE SEQUENCE finance.payment_method_payment_method_id_seq ALTER SEQUENCE finance.payment_method_payment_method_id_seq OWNER TO finance; -- --- TOC entry 7686 (class 0 OID 0) --- Dependencies: 310 +-- TOC entry 7827 (class 0 OID 0) +-- Dependencies: 312 -- Name: payment_method_payment_method_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance -- @@ -3061,7 +3276,7 @@ ALTER SEQUENCE finance.payment_method_payment_method_id_seq OWNED BY finance.pay -- --- TOC entry 312 (class 1259 OID 1334571) +-- TOC entry 314 (class 1259 OID 1334571) -- Name: payment_release_associations; Type: TABLE; Schema: finance; Owner: finance -- @@ -3074,7 +3289,7 @@ CREATE TABLE finance.payment_release_associations ( ALTER TABLE finance.payment_release_associations OWNER TO finance; -- --- TOC entry 313 (class 1259 OID 1334576) +-- TOC entry 315 (class 1259 OID 1334576) -- Name: payment_releases; Type: TABLE; Schema: finance; Owner: finance -- @@ -3096,110 +3311,7 @@ CREATE TABLE finance.payment_releases ( ALTER TABLE finance.payment_releases OWNER TO finance; -- --- TOC entry 315 (class 1259 OID 1334588) --- Name: payoneer_payment_method; Type: TABLE; Schema: finance; Owner: finance --- - -CREATE TABLE finance.payoneer_payment_method ( - id integer NOT NULL, - user_payment_method_id uuid, - user_id character varying(80) NOT NULL, - payee_id character varying(50) NOT NULL, - payoneer_id character varying(50) -); - - -ALTER TABLE finance.payoneer_payment_method OWNER TO finance; - --- --- TOC entry 314 (class 1259 OID 1334587) --- Name: payoneer_payment_method_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance --- - -CREATE SEQUENCE finance.payoneer_payment_method_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE finance.payoneer_payment_method_id_seq OWNER TO finance; - --- --- TOC entry 7687 (class 0 OID 0) --- Dependencies: 314 --- Name: payoneer_payment_method_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance --- - -ALTER SEQUENCE finance.payoneer_payment_method_id_seq OWNED BY finance.payoneer_payment_method.id; - - --- --- TOC entry 317 (class 1259 OID 1334595) --- Name: paypal_payment_method; Type: TABLE; Schema: finance; Owner: finance --- - -CREATE TABLE finance.paypal_payment_method ( - id integer NOT NULL, - user_payment_method_id uuid, - user_id character varying(80) NOT NULL, - email character varying(150), - payer_id character varying(50), - country_code character varying(2) -); - - -ALTER TABLE finance.paypal_payment_method OWNER TO finance; - --- --- TOC entry 316 (class 1259 OID 1334594) --- Name: paypal_payment_method_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance --- - -CREATE SEQUENCE finance.paypal_payment_method_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE finance.paypal_payment_method_id_seq OWNER TO finance; - --- --- TOC entry 7688 (class 0 OID 0) --- Dependencies: 316 --- Name: paypal_payment_method_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance --- - -ALTER SEQUENCE finance.paypal_payment_method_id_seq OWNED BY finance.paypal_payment_method.id; - - --- --- TOC entry 318 (class 1259 OID 1334601) --- Name: reward; Type: TABLE; Schema: finance; Owner: finance --- - -CREATE TABLE finance.reward ( - reward_id uuid DEFAULT uuid_generate_v4() NOT NULL, - winnings_id uuid NOT NULL, - points integer, - title character varying(255), - description text, - reference jsonb, - attributes jsonb, - created_at timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP, - updated_at timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP -); - - -ALTER TABLE finance.reward OWNER TO finance; - --- --- TOC entry 323 (class 1259 OID 1334752) +-- TOC entry 320 (class 1259 OID 1334752) -- Name: trolley_recipient; Type: TABLE; Schema: finance; Owner: finance -- @@ -3214,7 +3326,7 @@ CREATE TABLE finance.trolley_recipient ( ALTER TABLE finance.trolley_recipient OWNER TO finance; -- --- TOC entry 322 (class 1259 OID 1334751) +-- TOC entry 319 (class 1259 OID 1334751) -- Name: trolley_recipient_id_seq; Type: SEQUENCE; Schema: finance; Owner: finance -- @@ -3230,8 +3342,8 @@ CREATE SEQUENCE finance.trolley_recipient_id_seq ALTER SEQUENCE finance.trolley_recipient_id_seq OWNER TO finance; -- --- TOC entry 7689 (class 0 OID 0) --- Dependencies: 322 +-- TOC entry 7831 (class 0 OID 0) +-- Dependencies: 319 -- Name: trolley_recipient_id_seq; Type: SEQUENCE OWNED BY; Schema: finance; Owner: finance -- @@ -3239,7 +3351,7 @@ ALTER SEQUENCE finance.trolley_recipient_id_seq OWNED BY finance.trolley_recipie -- --- TOC entry 325 (class 1259 OID 1334779) +-- TOC entry 322 (class 1259 OID 1334779) -- Name: trolley_recipient_payment_method; Type: TABLE; Schema: finance; Owner: finance -- @@ -3253,7 +3365,7 @@ CREATE TABLE finance.trolley_recipient_payment_method ( ALTER TABLE finance.trolley_recipient_payment_method OWNER TO finance; -- --- TOC entry 321 (class 1259 OID 1334739) +-- TOC entry 318 (class 1259 OID 1334739) -- Name: trolley_webhook_log; Type: TABLE; Schema: finance; Owner: finance -- @@ -3273,7 +3385,7 @@ CREATE TABLE finance.trolley_webhook_log ( ALTER TABLE finance.trolley_webhook_log OWNER TO finance; -- --- TOC entry 435 (class 1259 OID 1771169) +-- TOC entry 432 (class 1259 OID 1771169) -- Name: user_identity_verification_associations; Type: TABLE; Schema: finance; Owner: finance -- @@ -3289,7 +3401,7 @@ CREATE TABLE finance.user_identity_verification_associations ( ALTER TABLE finance.user_identity_verification_associations OWNER TO finance; -- --- TOC entry 319 (class 1259 OID 1334633) +-- TOC entry 316 (class 1259 OID 1334633) -- Name: user_payment_methods; Type: TABLE; Schema: finance; Owner: finance -- @@ -3304,7 +3416,7 @@ CREATE TABLE finance.user_payment_methods ( ALTER TABLE finance.user_payment_methods OWNER TO finance; -- --- TOC entry 324 (class 1259 OID 1334771) +-- TOC entry 321 (class 1259 OID 1334771) -- Name: user_tax_form_associations; Type: TABLE; Schema: finance; Owner: finance -- @@ -3320,7 +3432,7 @@ CREATE TABLE finance.user_tax_form_associations ( ALTER TABLE finance.user_tax_form_associations OWNER TO finance; -- --- TOC entry 320 (class 1259 OID 1334648) +-- TOC entry 317 (class 1259 OID 1334648) -- Name: winnings; Type: TABLE; Schema: finance; Owner: finance -- @@ -3344,7 +3456,7 @@ CREATE TABLE finance.winnings ( ALTER TABLE finance.winnings OWNER TO finance; -- --- TOC entry 326 (class 1259 OID 1347861) +-- TOC entry 323 (class 1259 OID 1347861) -- Name: SequelizeMeta; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3356,7 +3468,7 @@ CREATE TABLE gamification."SequelizeMeta" ( ALTER TABLE gamification."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 327 (class 1259 OID 1347864) +-- TOC entry 324 (class 1259 OID 1347864) -- Name: badge_custom_fields; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3373,7 +3485,7 @@ CREATE TABLE gamification.badge_custom_fields ( ALTER TABLE gamification.badge_custom_fields OWNER TO topcoder; -- --- TOC entry 328 (class 1259 OID 1347869) +-- TOC entry 325 (class 1259 OID 1347869) -- Name: member_badges; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3389,7 +3501,7 @@ CREATE TABLE gamification.member_badges ( ALTER TABLE gamification.member_badges OWNER TO topcoder; -- --- TOC entry 329 (class 1259 OID 1347874) +-- TOC entry 326 (class 1259 OID 1347874) -- Name: organization; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3402,7 +3514,7 @@ CREATE TABLE gamification.organization ( ALTER TABLE gamification.organization OWNER TO topcoder; -- --- TOC entry 330 (class 1259 OID 1347879) +-- TOC entry 327 (class 1259 OID 1347879) -- Name: organization_badges; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3420,7 +3532,7 @@ CREATE TABLE gamification.organization_badges ( ALTER TABLE gamification.organization_badges OWNER TO topcoder; -- --- TOC entry 331 (class 1259 OID 1347885) +-- TOC entry 328 (class 1259 OID 1347885) -- Name: organization_badges_custom_fields; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3433,7 +3545,7 @@ CREATE TABLE gamification.organization_badges_custom_fields ( ALTER TABLE gamification.organization_badges_custom_fields OWNER TO topcoder; -- --- TOC entry 332 (class 1259 OID 1347888) +-- TOC entry 329 (class 1259 OID 1347888) -- Name: organization_badges_tags; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3446,7 +3558,7 @@ CREATE TABLE gamification.organization_badges_tags ( ALTER TABLE gamification.organization_badges_tags OWNER TO topcoder; -- --- TOC entry 333 (class 1259 OID 1347891) +-- TOC entry 330 (class 1259 OID 1347891) -- Name: tags; Type: TABLE; Schema: gamification; Owner: topcoder -- @@ -3460,7 +3572,7 @@ CREATE TABLE gamification.tags ( ALTER TABLE gamification.tags OWNER TO topcoder; -- --- TOC entry 511 (class 1259 OID 2018823) +-- TOC entry 609 (class 1259 OID 2070277) -- Name: Group; Type: TABLE; Schema: groups; Owner: groups -- @@ -3485,7 +3597,7 @@ CREATE TABLE groups."Group" ( ALTER TABLE groups."Group" OWNER TO groups; -- --- TOC entry 512 (class 1259 OID 2018831) +-- TOC entry 610 (class 1259 OID 2070285) -- Name: GroupMember; Type: TABLE; Schema: groups; Owner: groups -- @@ -3505,7 +3617,7 @@ CREATE TABLE groups."GroupMember" ( ALTER TABLE groups."GroupMember" OWNER TO groups; -- --- TOC entry 513 (class 1259 OID 2018839) +-- TOC entry 611 (class 1259 OID 2070293) -- Name: User; Type: TABLE; Schema: groups; Owner: groups -- @@ -3522,7 +3634,7 @@ CREATE TABLE groups."User" ( ALTER TABLE groups."User" OWNER TO groups; -- --- TOC entry 514 (class 1259 OID 2018847) +-- TOC entry 612 (class 1259 OID 2070301) -- Name: _ParentSubGroups; Type: TABLE; Schema: groups; Owner: groups -- @@ -3535,7 +3647,7 @@ CREATE TABLE groups."_ParentSubGroups" ( ALTER TABLE groups."_ParentSubGroups" OWNER TO groups; -- --- TOC entry 510 (class 1259 OID 2018809) +-- TOC entry 608 (class 1259 OID 2070262) -- Name: _prisma_migrations; Type: TABLE; Schema: groups; Owner: groups -- @@ -3554,7 +3666,7 @@ CREATE TABLE groups._prisma_migrations ( ALTER TABLE groups._prisma_migrations OWNER TO groups; -- --- TOC entry 443 (class 1259 OID 1831866) +-- TOC entry 433 (class 1259 OID 1831866) -- Name: _prisma_migrations; Type: TABLE; Schema: identity; Owner: identity -- @@ -3573,7 +3685,7 @@ CREATE TABLE identity._prisma_migrations ( ALTER TABLE identity._prisma_migrations OWNER TO identity; -- --- TOC entry 446 (class 1259 OID 1831877) +-- TOC entry 436 (class 1259 OID 1831877) -- Name: achievement_type_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -3586,7 +3698,7 @@ CREATE TABLE identity.achievement_type_lu ( ALTER TABLE identity.achievement_type_lu OWNER TO identity; -- --- TOC entry 474 (class 1259 OID 1832034) +-- TOC entry 464 (class 1259 OID 1832034) -- Name: client; Type: TABLE; Schema: identity; Owner: identity -- @@ -3606,7 +3718,7 @@ CREATE TABLE identity.client ( ALTER TABLE identity.client OWNER TO identity; -- --- TOC entry 473 (class 1259 OID 1832033) +-- TOC entry 463 (class 1259 OID 1832033) -- Name: client_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3622,8 +3734,8 @@ CREATE SEQUENCE identity.client_id_seq ALTER SEQUENCE identity.client_id_seq OWNER TO identity; -- --- TOC entry 7698 (class 0 OID 0) --- Dependencies: 473 +-- TOC entry 7854 (class 0 OID 0) +-- Dependencies: 463 -- Name: client_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -3631,7 +3743,7 @@ ALTER SEQUENCE identity.client_id_seq OWNED BY identity.client.id; -- --- TOC entry 447 (class 1259 OID 1831882) +-- TOC entry 437 (class 1259 OID 1831882) -- Name: country; Type: TABLE; Schema: identity; Owner: identity -- @@ -3653,7 +3765,7 @@ CREATE TABLE identity.country ( ALTER TABLE identity.country OWNER TO identity; -- --- TOC entry 449 (class 1259 OID 1831889) +-- TOC entry 439 (class 1259 OID 1831889) -- Name: dice_connection; Type: TABLE; Schema: identity; Owner: identity -- @@ -3671,7 +3783,7 @@ CREATE TABLE identity.dice_connection ( ALTER TABLE identity.dice_connection OWNER TO identity; -- --- TOC entry 448 (class 1259 OID 1831888) +-- TOC entry 438 (class 1259 OID 1831888) -- Name: dice_connection_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3687,8 +3799,8 @@ CREATE SEQUENCE identity.dice_connection_id_seq ALTER SEQUENCE identity.dice_connection_id_seq OWNER TO identity; -- --- TOC entry 7699 (class 0 OID 0) --- Dependencies: 448 +-- TOC entry 7857 (class 0 OID 0) +-- Dependencies: 438 -- Name: dice_connection_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -3696,7 +3808,7 @@ ALTER SEQUENCE identity.dice_connection_id_seq OWNED BY identity.dice_connection -- --- TOC entry 444 (class 1259 OID 1831875) +-- TOC entry 434 (class 1259 OID 1831875) -- Name: sequence_email_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3711,7 +3823,7 @@ CREATE SEQUENCE identity.sequence_email_seq ALTER SEQUENCE identity.sequence_email_seq OWNER TO identity; -- --- TOC entry 450 (class 1259 OID 1831897) +-- TOC entry 440 (class 1259 OID 1831897) -- Name: email; Type: TABLE; Schema: identity; Owner: identity -- @@ -3730,7 +3842,7 @@ CREATE TABLE identity.email ( ALTER TABLE identity.email OWNER TO identity; -- --- TOC entry 451 (class 1259 OID 1831905) +-- TOC entry 441 (class 1259 OID 1831905) -- Name: email_status_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -3745,7 +3857,7 @@ CREATE TABLE identity.email_status_lu ( ALTER TABLE identity.email_status_lu OWNER TO identity; -- --- TOC entry 452 (class 1259 OID 1831912) +-- TOC entry 442 (class 1259 OID 1831912) -- Name: email_type_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -3760,7 +3872,7 @@ CREATE TABLE identity.email_type_lu ( ALTER TABLE identity.email_type_lu OWNER TO identity; -- --- TOC entry 453 (class 1259 OID 1831919) +-- TOC entry 443 (class 1259 OID 1831919) -- Name: id_sequences; Type: TABLE; Schema: identity; Owner: identity -- @@ -3775,7 +3887,7 @@ CREATE TABLE identity.id_sequences ( ALTER TABLE identity.id_sequences OWNER TO identity; -- --- TOC entry 454 (class 1259 OID 1831925) +-- TOC entry 444 (class 1259 OID 1831925) -- Name: invalid_handles; Type: TABLE; Schema: identity; Owner: identity -- @@ -3788,7 +3900,7 @@ CREATE TABLE identity.invalid_handles ( ALTER TABLE identity.invalid_handles OWNER TO identity; -- --- TOC entry 476 (class 1259 OID 1832043) +-- TOC entry 466 (class 1259 OID 1832043) -- Name: role; Type: TABLE; Schema: identity; Owner: identity -- @@ -3805,7 +3917,7 @@ CREATE TABLE identity.role ( ALTER TABLE identity.role OWNER TO identity; -- --- TOC entry 478 (class 1259 OID 1832050) +-- TOC entry 468 (class 1259 OID 1832050) -- Name: role_assignment; Type: TABLE; Schema: identity; Owner: identity -- @@ -3824,7 +3936,7 @@ CREATE TABLE identity.role_assignment ( ALTER TABLE identity.role_assignment OWNER TO identity; -- --- TOC entry 477 (class 1259 OID 1832049) +-- TOC entry 467 (class 1259 OID 1832049) -- Name: role_assignment_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3840,8 +3952,8 @@ CREATE SEQUENCE identity.role_assignment_id_seq ALTER SEQUENCE identity.role_assignment_id_seq OWNER TO identity; -- --- TOC entry 7700 (class 0 OID 0) --- Dependencies: 477 +-- TOC entry 7865 (class 0 OID 0) +-- Dependencies: 467 -- Name: role_assignment_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -3849,7 +3961,7 @@ ALTER SEQUENCE identity.role_assignment_id_seq OWNED BY identity.role_assignment -- --- TOC entry 475 (class 1259 OID 1832042) +-- TOC entry 465 (class 1259 OID 1832042) -- Name: role_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3865,8 +3977,8 @@ CREATE SEQUENCE identity.role_id_seq ALTER SEQUENCE identity.role_id_seq OWNER TO identity; -- --- TOC entry 7701 (class 0 OID 0) --- Dependencies: 475 +-- TOC entry 7866 (class 0 OID 0) +-- Dependencies: 465 -- Name: role_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -3874,7 +3986,7 @@ ALTER SEQUENCE identity.role_id_seq OWNED BY identity.role.id; -- --- TOC entry 455 (class 1259 OID 1831930) +-- TOC entry 445 (class 1259 OID 1831930) -- Name: security_groups; Type: TABLE; Schema: identity; Owner: identity -- @@ -3889,7 +4001,7 @@ CREATE TABLE identity.security_groups ( ALTER TABLE identity.security_groups OWNER TO identity; -- --- TOC entry 456 (class 1259 OID 1831936) +-- TOC entry 446 (class 1259 OID 1831936) -- Name: security_status_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -3902,7 +4014,7 @@ CREATE TABLE identity.security_status_lu ( ALTER TABLE identity.security_status_lu OWNER TO identity; -- --- TOC entry 457 (class 1259 OID 1831941) +-- TOC entry 447 (class 1259 OID 1831941) -- Name: security_user; Type: TABLE; Schema: identity; Owner: identity -- @@ -3918,7 +4030,7 @@ CREATE TABLE identity.security_user ( ALTER TABLE identity.security_user OWNER TO identity; -- --- TOC entry 479 (class 1259 OID 1832187) +-- TOC entry 469 (class 1259 OID 1832187) -- Name: sequence_user_group_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3933,7 +4045,7 @@ CREATE SEQUENCE identity.sequence_user_group_seq ALTER SEQUENCE identity.sequence_user_group_seq OWNER TO identity; -- --- TOC entry 445 (class 1259 OID 1831876) +-- TOC entry 435 (class 1259 OID 1831876) -- Name: sequence_user_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -3948,7 +4060,7 @@ CREATE SEQUENCE identity.sequence_user_seq ALTER SEQUENCE identity.sequence_user_seq OWNER TO identity; -- --- TOC entry 458 (class 1259 OID 1831946) +-- TOC entry 448 (class 1259 OID 1831946) -- Name: social_login_provider; Type: TABLE; Schema: identity; Owner: identity -- @@ -3961,7 +4073,7 @@ CREATE TABLE identity.social_login_provider ( ALTER TABLE identity.social_login_provider OWNER TO identity; -- --- TOC entry 459 (class 1259 OID 1831951) +-- TOC entry 449 (class 1259 OID 1831951) -- Name: sso_login_provider; Type: TABLE; Schema: identity; Owner: identity -- @@ -3977,7 +4089,7 @@ CREATE TABLE identity.sso_login_provider ( ALTER TABLE identity.sso_login_provider OWNER TO identity; -- --- TOC entry 460 (class 1259 OID 1831958) +-- TOC entry 450 (class 1259 OID 1831958) -- Name: user; Type: TABLE; Schema: identity; Owner: identity -- @@ -4008,7 +4120,7 @@ CREATE TABLE identity."user" ( ALTER TABLE identity."user" OWNER TO identity; -- --- TOC entry 462 (class 1259 OID 1831969) +-- TOC entry 452 (class 1259 OID 1831969) -- Name: user_2fa; Type: TABLE; Schema: identity; Owner: identity -- @@ -4027,7 +4139,7 @@ CREATE TABLE identity.user_2fa ( ALTER TABLE identity.user_2fa OWNER TO identity; -- --- TOC entry 461 (class 1259 OID 1831968) +-- TOC entry 451 (class 1259 OID 1831968) -- Name: user_2fa_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -4043,8 +4155,8 @@ CREATE SEQUENCE identity.user_2fa_id_seq ALTER SEQUENCE identity.user_2fa_id_seq OWNER TO identity; -- --- TOC entry 7702 (class 0 OID 0) --- Dependencies: 461 +-- TOC entry 7874 (class 0 OID 0) +-- Dependencies: 451 -- Name: user_2fa_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -4052,7 +4164,7 @@ ALTER SEQUENCE identity.user_2fa_id_seq OWNED BY identity.user_2fa.id; -- --- TOC entry 463 (class 1259 OID 1831979) +-- TOC entry 453 (class 1259 OID 1831979) -- Name: user_achievement; Type: TABLE; Schema: identity; Owner: identity -- @@ -4068,7 +4180,7 @@ CREATE TABLE identity.user_achievement ( ALTER TABLE identity.user_achievement OWNER TO identity; -- --- TOC entry 472 (class 1259 OID 1832026) +-- TOC entry 462 (class 1259 OID 1832026) -- Name: user_email_xref; Type: TABLE; Schema: identity; Owner: identity -- @@ -4085,7 +4197,7 @@ CREATE TABLE identity.user_email_xref ( ALTER TABLE identity.user_email_xref OWNER TO identity; -- --- TOC entry 464 (class 1259 OID 1831985) +-- TOC entry 454 (class 1259 OID 1831985) -- Name: user_group_xref; Type: TABLE; Schema: identity; Owner: identity -- @@ -4102,7 +4214,7 @@ CREATE TABLE identity.user_group_xref ( ALTER TABLE identity.user_group_xref OWNER TO identity; -- --- TOC entry 466 (class 1259 OID 1831992) +-- TOC entry 456 (class 1259 OID 1831992) -- Name: user_otp_email; Type: TABLE; Schema: identity; Owner: identity -- @@ -4120,7 +4232,7 @@ CREATE TABLE identity.user_otp_email ( ALTER TABLE identity.user_otp_email OWNER TO identity; -- --- TOC entry 465 (class 1259 OID 1831991) +-- TOC entry 455 (class 1259 OID 1831991) -- Name: user_otp_email_id_seq; Type: SEQUENCE; Schema: identity; Owner: identity -- @@ -4136,8 +4248,8 @@ CREATE SEQUENCE identity.user_otp_email_id_seq ALTER SEQUENCE identity.user_otp_email_id_seq OWNER TO identity; -- --- TOC entry 7703 (class 0 OID 0) --- Dependencies: 465 +-- TOC entry 7879 (class 0 OID 0) +-- Dependencies: 455 -- Name: user_otp_email_id_seq; Type: SEQUENCE OWNED BY; Schema: identity; Owner: identity -- @@ -4145,7 +4257,7 @@ ALTER SEQUENCE identity.user_otp_email_id_seq OWNED BY identity.user_otp_email.i -- --- TOC entry 467 (class 1259 OID 1832000) +-- TOC entry 457 (class 1259 OID 1832000) -- Name: user_social_login; Type: TABLE; Schema: identity; Owner: identity -- @@ -4164,7 +4276,7 @@ CREATE TABLE identity.user_social_login ( ALTER TABLE identity.user_social_login OWNER TO identity; -- --- TOC entry 468 (class 1259 OID 1832006) +-- TOC entry 458 (class 1259 OID 1832006) -- Name: user_sso_login; Type: TABLE; Schema: identity; Owner: identity -- @@ -4180,7 +4292,7 @@ CREATE TABLE identity.user_sso_login ( ALTER TABLE identity.user_sso_login OWNER TO identity; -- --- TOC entry 469 (class 1259 OID 1832011) +-- TOC entry 459 (class 1259 OID 1832011) -- Name: user_status; Type: TABLE; Schema: identity; Owner: identity -- @@ -4194,7 +4306,7 @@ CREATE TABLE identity.user_status ( ALTER TABLE identity.user_status OWNER TO identity; -- --- TOC entry 470 (class 1259 OID 1832016) +-- TOC entry 460 (class 1259 OID 1832016) -- Name: user_status_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -4207,7 +4319,7 @@ CREATE TABLE identity.user_status_lu ( ALTER TABLE identity.user_status_lu OWNER TO identity; -- --- TOC entry 471 (class 1259 OID 1832021) +-- TOC entry 461 (class 1259 OID 1832021) -- Name: user_status_type_lu; Type: TABLE; Schema: identity; Owner: identity -- @@ -4220,7 +4332,7 @@ CREATE TABLE identity.user_status_type_lu ( ALTER TABLE identity.user_status_type_lu OWNER TO identity; -- --- TOC entry 581 (class 1259 OID 2029892) +-- TOC entry 566 (class 1259 OID 2029892) -- Name: Country; Type: TABLE; Schema: lookups; Owner: lookups -- @@ -4238,7 +4350,7 @@ CREATE TABLE lookups."Country" ( ALTER TABLE lookups."Country" OWNER TO lookups; -- --- TOC entry 582 (class 1259 OID 2029901) +-- TOC entry 567 (class 1259 OID 2029901) -- Name: Device; Type: TABLE; Schema: lookups; Owner: lookups -- @@ -4258,7 +4370,7 @@ CREATE TABLE lookups."Device" ( ALTER TABLE lookups."Device" OWNER TO lookups; -- --- TOC entry 583 (class 1259 OID 2029910) +-- TOC entry 568 (class 1259 OID 2029910) -- Name: EducationalInstitution; Type: TABLE; Schema: lookups; Owner: lookups -- @@ -4274,7 +4386,7 @@ CREATE TABLE lookups."EducationalInstitution" ( ALTER TABLE lookups."EducationalInstitution" OWNER TO lookups; -- --- TOC entry 580 (class 1259 OID 2029883) +-- TOC entry 565 (class 1259 OID 2029883) -- Name: _prisma_migrations; Type: TABLE; Schema: lookups; Owner: lookups -- @@ -4293,7 +4405,7 @@ CREATE TABLE lookups._prisma_migrations ( ALTER TABLE lookups._prisma_migrations OWNER TO lookups; -- --- TOC entry 515 (class 1259 OID 2023504) +-- TOC entry 500 (class 1259 OID 2023504) -- Name: _prisma_migrations; Type: TABLE; Schema: members; Owner: members -- @@ -4312,7 +4424,7 @@ CREATE TABLE members._prisma_migrations ( ALTER TABLE members._prisma_migrations OWNER TO members; -- --- TOC entry 576 (class 1259 OID 2023911) +-- TOC entry 561 (class 1259 OID 2023911) -- Name: displayMode; Type: TABLE; Schema: members; Owner: members -- @@ -4329,7 +4441,7 @@ CREATE TABLE members."displayMode" ( ALTER TABLE members."displayMode" OWNER TO members; -- --- TOC entry 522 (class 1259 OID 2023626) +-- TOC entry 507 (class 1259 OID 2023626) -- Name: distributionStats; Type: TABLE; Schema: members; Owner: members -- @@ -4387,7 +4499,7 @@ CREATE TABLE members."distributionStats" ( ALTER TABLE members."distributionStats" OWNER TO members; -- --- TOC entry 521 (class 1259 OID 2023625) +-- TOC entry 506 (class 1259 OID 2023625) -- Name: distributionStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4402,8 +4514,8 @@ CREATE SEQUENCE members."distributionStats_id_seq" ALTER SEQUENCE members."distributionStats_id_seq" OWNER TO members; -- --- TOC entry 7704 (class 0 OID 0) --- Dependencies: 521 +-- TOC entry 7892 (class 0 OID 0) +-- Dependencies: 506 -- Name: distributionStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4411,7 +4523,7 @@ ALTER SEQUENCE members."distributionStats_id_seq" OWNED BY members."distribution -- --- TOC entry 516 (class 1259 OID 2023597) +-- TOC entry 501 (class 1259 OID 2023597) -- Name: member; Type: TABLE; Schema: members; Owner: members -- @@ -4455,7 +4567,7 @@ CREATE TABLE members.member ( ALTER TABLE members.member OWNER TO members; -- --- TOC entry 518 (class 1259 OID 2023606) +-- TOC entry 503 (class 1259 OID 2023606) -- Name: memberAddress; Type: TABLE; Schema: members; Owner: members -- @@ -4478,7 +4590,7 @@ CREATE TABLE members."memberAddress" ( ALTER TABLE members."memberAddress" OWNER TO members; -- --- TOC entry 517 (class 1259 OID 2023605) +-- TOC entry 502 (class 1259 OID 2023605) -- Name: memberAddress_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4493,8 +4605,8 @@ CREATE SEQUENCE members."memberAddress_id_seq" ALTER SEQUENCE members."memberAddress_id_seq" OWNER TO members; -- --- TOC entry 7705 (class 0 OID 0) --- Dependencies: 517 +-- TOC entry 7895 (class 0 OID 0) +-- Dependencies: 502 -- Name: memberAddress_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4502,7 +4614,7 @@ ALTER SEQUENCE members."memberAddress_id_seq" OWNED BY members."memberAddress".i -- --- TOC entry 533 (class 1259 OID 2023686) +-- TOC entry 518 (class 1259 OID 2023686) -- Name: memberCopilotStats; Type: TABLE; Schema: members; Owner: members -- @@ -4526,7 +4638,7 @@ CREATE TABLE members."memberCopilotStats" ( ALTER TABLE members."memberCopilotStats" OWNER TO members; -- --- TOC entry 532 (class 1259 OID 2023685) +-- TOC entry 517 (class 1259 OID 2023685) -- Name: memberCopilotStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4541,8 +4653,8 @@ CREATE SEQUENCE members."memberCopilotStats_id_seq" ALTER SEQUENCE members."memberCopilotStats_id_seq" OWNER TO members; -- --- TOC entry 7706 (class 0 OID 0) --- Dependencies: 532 +-- TOC entry 7897 (class 0 OID 0) +-- Dependencies: 517 -- Name: memberCopilotStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4550,7 +4662,7 @@ ALTER SEQUENCE members."memberCopilotStats_id_seq" OWNED BY members."memberCopil -- --- TOC entry 529 (class 1259 OID 2023665) +-- TOC entry 514 (class 1259 OID 2023665) -- Name: memberDataScienceHistoryStats; Type: TABLE; Schema: members; Owner: members -- @@ -4575,7 +4687,7 @@ CREATE TABLE members."memberDataScienceHistoryStats" ( ALTER TABLE members."memberDataScienceHistoryStats" OWNER TO members; -- --- TOC entry 528 (class 1259 OID 2023664) +-- TOC entry 513 (class 1259 OID 2023664) -- Name: memberDataScienceHistoryStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4590,8 +4702,8 @@ CREATE SEQUENCE members."memberDataScienceHistoryStats_id_seq" ALTER SEQUENCE members."memberDataScienceHistoryStats_id_seq" OWNER TO members; -- --- TOC entry 7707 (class 0 OID 0) --- Dependencies: 528 +-- TOC entry 7899 (class 0 OID 0) +-- Dependencies: 513 -- Name: memberDataScienceHistoryStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4599,7 +4711,7 @@ ALTER SEQUENCE members."memberDataScienceHistoryStats_id_seq" OWNED BY members." -- --- TOC entry 543 (class 1259 OID 2023736) +-- TOC entry 528 (class 1259 OID 2023736) -- Name: memberDataScienceStats; Type: TABLE; Schema: members; Owner: members -- @@ -4621,7 +4733,7 @@ CREATE TABLE members."memberDataScienceStats" ( ALTER TABLE members."memberDataScienceStats" OWNER TO members; -- --- TOC entry 542 (class 1259 OID 2023735) +-- TOC entry 527 (class 1259 OID 2023735) -- Name: memberDataScienceStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4636,8 +4748,8 @@ CREATE SEQUENCE members."memberDataScienceStats_id_seq" ALTER SEQUENCE members."memberDataScienceStats_id_seq" OWNER TO members; -- --- TOC entry 7708 (class 0 OID 0) --- Dependencies: 542 +-- TOC entry 7901 (class 0 OID 0) +-- Dependencies: 527 -- Name: memberDataScienceStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4645,7 +4757,7 @@ ALTER SEQUENCE members."memberDataScienceStats_id_seq" OWNED BY members."memberD -- --- TOC entry 539 (class 1259 OID 2023716) +-- TOC entry 524 (class 1259 OID 2023716) -- Name: memberDesignStats; Type: TABLE; Schema: members; Owner: members -- @@ -4666,7 +4778,7 @@ CREATE TABLE members."memberDesignStats" ( ALTER TABLE members."memberDesignStats" OWNER TO members; -- --- TOC entry 541 (class 1259 OID 2023726) +-- TOC entry 526 (class 1259 OID 2023726) -- Name: memberDesignStatsItem; Type: TABLE; Schema: members; Owner: members -- @@ -4696,7 +4808,7 @@ CREATE TABLE members."memberDesignStatsItem" ( ALTER TABLE members."memberDesignStatsItem" OWNER TO members; -- --- TOC entry 540 (class 1259 OID 2023725) +-- TOC entry 525 (class 1259 OID 2023725) -- Name: memberDesignStatsItem_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4711,8 +4823,8 @@ CREATE SEQUENCE members."memberDesignStatsItem_id_seq" ALTER SEQUENCE members."memberDesignStatsItem_id_seq" OWNER TO members; -- --- TOC entry 7709 (class 0 OID 0) --- Dependencies: 540 +-- TOC entry 7904 (class 0 OID 0) +-- Dependencies: 525 -- Name: memberDesignStatsItem_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4720,7 +4832,7 @@ ALTER SEQUENCE members."memberDesignStatsItem_id_seq" OWNED BY members."memberDe -- --- TOC entry 538 (class 1259 OID 2023715) +-- TOC entry 523 (class 1259 OID 2023715) -- Name: memberDesignStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4735,8 +4847,8 @@ CREATE SEQUENCE members."memberDesignStats_id_seq" ALTER SEQUENCE members."memberDesignStats_id_seq" OWNER TO members; -- --- TOC entry 7710 (class 0 OID 0) --- Dependencies: 538 +-- TOC entry 7905 (class 0 OID 0) +-- Dependencies: 523 -- Name: memberDesignStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4744,7 +4856,7 @@ ALTER SEQUENCE members."memberDesignStats_id_seq" OWNED BY members."memberDesign -- --- TOC entry 527 (class 1259 OID 2023655) +-- TOC entry 512 (class 1259 OID 2023655) -- Name: memberDevelopHistoryStats; Type: TABLE; Schema: members; Owner: members -- @@ -4767,7 +4879,7 @@ CREATE TABLE members."memberDevelopHistoryStats" ( ALTER TABLE members."memberDevelopHistoryStats" OWNER TO members; -- --- TOC entry 526 (class 1259 OID 2023654) +-- TOC entry 511 (class 1259 OID 2023654) -- Name: memberDevelopHistoryStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4782,8 +4894,8 @@ CREATE SEQUENCE members."memberDevelopHistoryStats_id_seq" ALTER SEQUENCE members."memberDevelopHistoryStats_id_seq" OWNER TO members; -- --- TOC entry 7711 (class 0 OID 0) --- Dependencies: 526 +-- TOC entry 7907 (class 0 OID 0) +-- Dependencies: 511 -- Name: memberDevelopHistoryStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4791,7 +4903,7 @@ ALTER SEQUENCE members."memberDevelopHistoryStats_id_seq" OWNED BY members."memb -- --- TOC entry 535 (class 1259 OID 2023696) +-- TOC entry 520 (class 1259 OID 2023696) -- Name: memberDevelopStats; Type: TABLE; Schema: members; Owner: members -- @@ -4812,7 +4924,7 @@ CREATE TABLE members."memberDevelopStats" ( ALTER TABLE members."memberDevelopStats" OWNER TO members; -- --- TOC entry 537 (class 1259 OID 2023706) +-- TOC entry 522 (class 1259 OID 2023706) -- Name: memberDevelopStatsItem; Type: TABLE; Schema: members; Owner: members -- @@ -4862,7 +4974,7 @@ CREATE TABLE members."memberDevelopStatsItem" ( ALTER TABLE members."memberDevelopStatsItem" OWNER TO members; -- --- TOC entry 536 (class 1259 OID 2023705) +-- TOC entry 521 (class 1259 OID 2023705) -- Name: memberDevelopStatsItem_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4877,8 +4989,8 @@ CREATE SEQUENCE members."memberDevelopStatsItem_id_seq" ALTER SEQUENCE members."memberDevelopStatsItem_id_seq" OWNER TO members; -- --- TOC entry 7712 (class 0 OID 0) --- Dependencies: 536 +-- TOC entry 7910 (class 0 OID 0) +-- Dependencies: 521 -- Name: memberDevelopStatsItem_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4886,7 +4998,7 @@ ALTER SEQUENCE members."memberDevelopStatsItem_id_seq" OWNED BY members."memberD -- --- TOC entry 534 (class 1259 OID 2023695) +-- TOC entry 519 (class 1259 OID 2023695) -- Name: memberDevelopStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4901,8 +5013,8 @@ CREATE SEQUENCE members."memberDevelopStats_id_seq" ALTER SEQUENCE members."memberDevelopStats_id_seq" OWNER TO members; -- --- TOC entry 7713 (class 0 OID 0) --- Dependencies: 534 +-- TOC entry 7911 (class 0 OID 0) +-- Dependencies: 519 -- Name: memberDevelopStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4910,7 +5022,7 @@ ALTER SEQUENCE members."memberDevelopStats_id_seq" OWNED BY members."memberDevel -- --- TOC entry 523 (class 1259 OID 2023635) +-- TOC entry 508 (class 1259 OID 2023635) -- Name: memberFinancial; Type: TABLE; Schema: members; Owner: members -- @@ -4928,7 +5040,7 @@ CREATE TABLE members."memberFinancial" ( ALTER TABLE members."memberFinancial" OWNER TO members; -- --- TOC entry 525 (class 1259 OID 2023644) +-- TOC entry 510 (class 1259 OID 2023644) -- Name: memberHistoryStats; Type: TABLE; Schema: members; Owner: members -- @@ -4947,7 +5059,7 @@ CREATE TABLE members."memberHistoryStats" ( ALTER TABLE members."memberHistoryStats" OWNER TO members; -- --- TOC entry 524 (class 1259 OID 2023643) +-- TOC entry 509 (class 1259 OID 2023643) -- Name: memberHistoryStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -4962,8 +5074,8 @@ CREATE SEQUENCE members."memberHistoryStats_id_seq" ALTER SEQUENCE members."memberHistoryStats_id_seq" OWNER TO members; -- --- TOC entry 7714 (class 0 OID 0) --- Dependencies: 524 +-- TOC entry 7914 (class 0 OID 0) +-- Dependencies: 509 -- Name: memberHistoryStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -4971,7 +5083,7 @@ ALTER SEQUENCE members."memberHistoryStats_id_seq" OWNED BY members."memberHisto -- --- TOC entry 551 (class 1259 OID 2023776) +-- TOC entry 536 (class 1259 OID 2023776) -- Name: memberMarathonStats; Type: TABLE; Schema: members; Owner: members -- @@ -5008,7 +5120,7 @@ CREATE TABLE members."memberMarathonStats" ( ALTER TABLE members."memberMarathonStats" OWNER TO members; -- --- TOC entry 550 (class 1259 OID 2023775) +-- TOC entry 535 (class 1259 OID 2023775) -- Name: memberMarathonStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5023,8 +5135,8 @@ CREATE SEQUENCE members."memberMarathonStats_id_seq" ALTER SEQUENCE members."memberMarathonStats_id_seq" OWNER TO members; -- --- TOC entry 7715 (class 0 OID 0) --- Dependencies: 550 +-- TOC entry 7916 (class 0 OID 0) +-- Dependencies: 535 -- Name: memberMarathonStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5032,7 +5144,7 @@ ALTER SEQUENCE members."memberMarathonStats_id_seq" OWNED BY members."memberMara -- --- TOC entry 520 (class 1259 OID 2023616) +-- TOC entry 505 (class 1259 OID 2023616) -- Name: memberMaxRating; Type: TABLE; Schema: members; Owner: members -- @@ -5053,7 +5165,7 @@ CREATE TABLE members."memberMaxRating" ( ALTER TABLE members."memberMaxRating" OWNER TO members; -- --- TOC entry 519 (class 1259 OID 2023615) +-- TOC entry 504 (class 1259 OID 2023615) -- Name: memberMaxRating_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5068,8 +5180,8 @@ CREATE SEQUENCE members."memberMaxRating_id_seq" ALTER SEQUENCE members."memberMaxRating_id_seq" OWNER TO members; -- --- TOC entry 7716 (class 0 OID 0) --- Dependencies: 519 +-- TOC entry 7918 (class 0 OID 0) +-- Dependencies: 504 -- Name: memberMaxRating_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5077,7 +5189,7 @@ ALTER SEQUENCE members."memberMaxRating_id_seq" OWNED BY members."memberMaxRatin -- --- TOC entry 578 (class 1259 OID 2023927) +-- TOC entry 563 (class 1259 OID 2023927) -- Name: memberSkill; Type: TABLE; Schema: members; Owner: members -- @@ -5096,7 +5208,7 @@ CREATE TABLE members."memberSkill" ( ALTER TABLE members."memberSkill" OWNER TO members; -- --- TOC entry 579 (class 1259 OID 2023935) +-- TOC entry 564 (class 1259 OID 2023935) -- Name: memberSkillLevel; Type: TABLE; Schema: members; Owner: members -- @@ -5113,7 +5225,7 @@ CREATE TABLE members."memberSkillLevel" ( ALTER TABLE members."memberSkillLevel" OWNER TO members; -- --- TOC entry 547 (class 1259 OID 2023756) +-- TOC entry 532 (class 1259 OID 2023756) -- Name: memberSrmChallengeDetail; Type: TABLE; Schema: members; Owner: members -- @@ -5133,7 +5245,7 @@ CREATE TABLE members."memberSrmChallengeDetail" ( ALTER TABLE members."memberSrmChallengeDetail" OWNER TO members; -- --- TOC entry 546 (class 1259 OID 2023755) +-- TOC entry 531 (class 1259 OID 2023755) -- Name: memberSrmChallengeDetail_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5148,8 +5260,8 @@ CREATE SEQUENCE members."memberSrmChallengeDetail_id_seq" ALTER SEQUENCE members."memberSrmChallengeDetail_id_seq" OWNER TO members; -- --- TOC entry 7717 (class 0 OID 0) --- Dependencies: 546 +-- TOC entry 7922 (class 0 OID 0) +-- Dependencies: 531 -- Name: memberSrmChallengeDetail_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5157,7 +5269,7 @@ ALTER SEQUENCE members."memberSrmChallengeDetail_id_seq" OWNED BY members."membe -- --- TOC entry 549 (class 1259 OID 2023766) +-- TOC entry 534 (class 1259 OID 2023766) -- Name: memberSrmDivisionDetail; Type: TABLE; Schema: members; Owner: members -- @@ -5179,7 +5291,7 @@ CREATE TABLE members."memberSrmDivisionDetail" ( ALTER TABLE members."memberSrmDivisionDetail" OWNER TO members; -- --- TOC entry 548 (class 1259 OID 2023765) +-- TOC entry 533 (class 1259 OID 2023765) -- Name: memberSrmDivisionDetail_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5194,8 +5306,8 @@ CREATE SEQUENCE members."memberSrmDivisionDetail_id_seq" ALTER SEQUENCE members."memberSrmDivisionDetail_id_seq" OWNER TO members; -- --- TOC entry 7718 (class 0 OID 0) --- Dependencies: 548 +-- TOC entry 7924 (class 0 OID 0) +-- Dependencies: 533 -- Name: memberSrmDivisionDetail_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5203,7 +5315,7 @@ ALTER SEQUENCE members."memberSrmDivisionDetail_id_seq" OWNED BY members."member -- --- TOC entry 545 (class 1259 OID 2023746) +-- TOC entry 530 (class 1259 OID 2023746) -- Name: memberSrmStats; Type: TABLE; Schema: members; Owner: members -- @@ -5235,7 +5347,7 @@ CREATE TABLE members."memberSrmStats" ( ALTER TABLE members."memberSrmStats" OWNER TO members; -- --- TOC entry 544 (class 1259 OID 2023745) +-- TOC entry 529 (class 1259 OID 2023745) -- Name: memberSrmStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5250,8 +5362,8 @@ CREATE SEQUENCE members."memberSrmStats_id_seq" ALTER SEQUENCE members."memberSrmStats_id_seq" OWNER TO members; -- --- TOC entry 7719 (class 0 OID 0) --- Dependencies: 544 +-- TOC entry 7926 (class 0 OID 0) +-- Dependencies: 529 -- Name: memberSrmStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5259,7 +5371,7 @@ ALTER SEQUENCE members."memberSrmStats_id_seq" OWNED BY members."memberSrmStats" -- --- TOC entry 531 (class 1259 OID 2023675) +-- TOC entry 516 (class 1259 OID 2023675) -- Name: memberStats; Type: TABLE; Schema: members; Owner: members -- @@ -5281,7 +5393,7 @@ CREATE TABLE members."memberStats" ( ALTER TABLE members."memberStats" OWNER TO members; -- --- TOC entry 530 (class 1259 OID 2023674) +-- TOC entry 515 (class 1259 OID 2023674) -- Name: memberStats_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5296,8 +5408,8 @@ CREATE SEQUENCE members."memberStats_id_seq" ALTER SEQUENCE members."memberStats_id_seq" OWNER TO members; -- --- TOC entry 7720 (class 0 OID 0) --- Dependencies: 530 +-- TOC entry 7928 (class 0 OID 0) +-- Dependencies: 515 -- Name: memberStats_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5305,7 +5417,7 @@ ALTER SEQUENCE members."memberStats_id_seq" OWNED BY members."memberStats".id; -- --- TOC entry 565 (class 1259 OID 2023846) +-- TOC entry 550 (class 1259 OID 2023846) -- Name: memberTraitBasicInfo; Type: TABLE; Schema: members; Owner: members -- @@ -5330,7 +5442,7 @@ CREATE TABLE members."memberTraitBasicInfo" ( ALTER TABLE members."memberTraitBasicInfo" OWNER TO members; -- --- TOC entry 564 (class 1259 OID 2023845) +-- TOC entry 549 (class 1259 OID 2023845) -- Name: memberTraitBasicInfo_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5345,8 +5457,8 @@ CREATE SEQUENCE members."memberTraitBasicInfo_id_seq" ALTER SEQUENCE members."memberTraitBasicInfo_id_seq" OWNER TO members; -- --- TOC entry 7721 (class 0 OID 0) --- Dependencies: 564 +-- TOC entry 7930 (class 0 OID 0) +-- Dependencies: 549 -- Name: memberTraitBasicInfo_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5354,7 +5466,7 @@ ALTER SEQUENCE members."memberTraitBasicInfo_id_seq" OWNED BY members."memberTra -- --- TOC entry 573 (class 1259 OID 2023886) +-- TOC entry 558 (class 1259 OID 2023886) -- Name: memberTraitCommunity; Type: TABLE; Schema: members; Owner: members -- @@ -5373,7 +5485,7 @@ CREATE TABLE members."memberTraitCommunity" ( ALTER TABLE members."memberTraitCommunity" OWNER TO members; -- --- TOC entry 572 (class 1259 OID 2023885) +-- TOC entry 557 (class 1259 OID 2023885) -- Name: memberTraitCommunity_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5388,8 +5500,8 @@ CREATE SEQUENCE members."memberTraitCommunity_id_seq" ALTER SEQUENCE members."memberTraitCommunity_id_seq" OWNER TO members; -- --- TOC entry 7722 (class 0 OID 0) --- Dependencies: 572 +-- TOC entry 7932 (class 0 OID 0) +-- Dependencies: 557 -- Name: memberTraitCommunity_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5397,7 +5509,7 @@ ALTER SEQUENCE members."memberTraitCommunity_id_seq" OWNED BY members."memberTra -- --- TOC entry 555 (class 1259 OID 2023796) +-- TOC entry 540 (class 1259 OID 2023796) -- Name: memberTraitDevice; Type: TABLE; Schema: members; Owner: members -- @@ -5420,7 +5532,7 @@ CREATE TABLE members."memberTraitDevice" ( ALTER TABLE members."memberTraitDevice" OWNER TO members; -- --- TOC entry 554 (class 1259 OID 2023795) +-- TOC entry 539 (class 1259 OID 2023795) -- Name: memberTraitDevice_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5435,8 +5547,8 @@ CREATE SEQUENCE members."memberTraitDevice_id_seq" ALTER SEQUENCE members."memberTraitDevice_id_seq" OWNER TO members; -- --- TOC entry 7723 (class 0 OID 0) --- Dependencies: 554 +-- TOC entry 7934 (class 0 OID 0) +-- Dependencies: 539 -- Name: memberTraitDevice_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5444,7 +5556,7 @@ ALTER SEQUENCE members."memberTraitDevice_id_seq" OWNED BY members."memberTraitD -- --- TOC entry 563 (class 1259 OID 2023836) +-- TOC entry 548 (class 1259 OID 2023836) -- Name: memberTraitEducation; Type: TABLE; Schema: members; Owner: members -- @@ -5464,7 +5576,7 @@ CREATE TABLE members."memberTraitEducation" ( ALTER TABLE members."memberTraitEducation" OWNER TO members; -- --- TOC entry 562 (class 1259 OID 2023835) +-- TOC entry 547 (class 1259 OID 2023835) -- Name: memberTraitEducation_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5479,8 +5591,8 @@ CREATE SEQUENCE members."memberTraitEducation_id_seq" ALTER SEQUENCE members."memberTraitEducation_id_seq" OWNER TO members; -- --- TOC entry 7724 (class 0 OID 0) --- Dependencies: 562 +-- TOC entry 7936 (class 0 OID 0) +-- Dependencies: 547 -- Name: memberTraitEducation_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5488,7 +5600,7 @@ ALTER SEQUENCE members."memberTraitEducation_id_seq" OWNED BY members."memberTra -- --- TOC entry 567 (class 1259 OID 2023856) +-- TOC entry 552 (class 1259 OID 2023856) -- Name: memberTraitLanguage; Type: TABLE; Schema: members; Owner: members -- @@ -5508,7 +5620,7 @@ CREATE TABLE members."memberTraitLanguage" ( ALTER TABLE members."memberTraitLanguage" OWNER TO members; -- --- TOC entry 566 (class 1259 OID 2023855) +-- TOC entry 551 (class 1259 OID 2023855) -- Name: memberTraitLanguage_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5523,8 +5635,8 @@ CREATE SEQUENCE members."memberTraitLanguage_id_seq" ALTER SEQUENCE members."memberTraitLanguage_id_seq" OWNER TO members; -- --- TOC entry 7725 (class 0 OID 0) --- Dependencies: 566 +-- TOC entry 7938 (class 0 OID 0) +-- Dependencies: 551 -- Name: memberTraitLanguage_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5532,7 +5644,7 @@ ALTER SEQUENCE members."memberTraitLanguage_id_seq" OWNED BY members."memberTrai -- --- TOC entry 569 (class 1259 OID 2023866) +-- TOC entry 554 (class 1259 OID 2023866) -- Name: memberTraitOnboardChecklist; Type: TABLE; Schema: members; Owner: members -- @@ -5555,7 +5667,7 @@ CREATE TABLE members."memberTraitOnboardChecklist" ( ALTER TABLE members."memberTraitOnboardChecklist" OWNER TO members; -- --- TOC entry 568 (class 1259 OID 2023865) +-- TOC entry 553 (class 1259 OID 2023865) -- Name: memberTraitOnboardChecklist_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5570,8 +5682,8 @@ CREATE SEQUENCE members."memberTraitOnboardChecklist_id_seq" ALTER SEQUENCE members."memberTraitOnboardChecklist_id_seq" OWNER TO members; -- --- TOC entry 7726 (class 0 OID 0) --- Dependencies: 568 +-- TOC entry 7940 (class 0 OID 0) +-- Dependencies: 553 -- Name: memberTraitOnboardChecklist_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5579,7 +5691,7 @@ ALTER SEQUENCE members."memberTraitOnboardChecklist_id_seq" OWNED BY members."me -- --- TOC entry 571 (class 1259 OID 2023876) +-- TOC entry 556 (class 1259 OID 2023876) -- Name: memberTraitPersonalization; Type: TABLE; Schema: members; Owner: members -- @@ -5598,7 +5710,7 @@ CREATE TABLE members."memberTraitPersonalization" ( ALTER TABLE members."memberTraitPersonalization" OWNER TO members; -- --- TOC entry 570 (class 1259 OID 2023875) +-- TOC entry 555 (class 1259 OID 2023875) -- Name: memberTraitPersonalization_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5613,8 +5725,8 @@ CREATE SEQUENCE members."memberTraitPersonalization_id_seq" ALTER SEQUENCE members."memberTraitPersonalization_id_seq" OWNER TO members; -- --- TOC entry 7727 (class 0 OID 0) --- Dependencies: 570 +-- TOC entry 7942 (class 0 OID 0) +-- Dependencies: 555 -- Name: memberTraitPersonalization_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5622,7 +5734,7 @@ ALTER SEQUENCE members."memberTraitPersonalization_id_seq" OWNED BY members."mem -- --- TOC entry 559 (class 1259 OID 2023816) +-- TOC entry 544 (class 1259 OID 2023816) -- Name: memberTraitServiceProvider; Type: TABLE; Schema: members; Owner: members -- @@ -5641,7 +5753,7 @@ CREATE TABLE members."memberTraitServiceProvider" ( ALTER TABLE members."memberTraitServiceProvider" OWNER TO members; -- --- TOC entry 558 (class 1259 OID 2023815) +-- TOC entry 543 (class 1259 OID 2023815) -- Name: memberTraitServiceProvider_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5656,8 +5768,8 @@ CREATE SEQUENCE members."memberTraitServiceProvider_id_seq" ALTER SEQUENCE members."memberTraitServiceProvider_id_seq" OWNER TO members; -- --- TOC entry 7728 (class 0 OID 0) --- Dependencies: 558 +-- TOC entry 7944 (class 0 OID 0) +-- Dependencies: 543 -- Name: memberTraitServiceProvider_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5665,7 +5777,7 @@ ALTER SEQUENCE members."memberTraitServiceProvider_id_seq" OWNED BY members."mem -- --- TOC entry 557 (class 1259 OID 2023806) +-- TOC entry 542 (class 1259 OID 2023806) -- Name: memberTraitSoftware; Type: TABLE; Schema: members; Owner: members -- @@ -5684,7 +5796,7 @@ CREATE TABLE members."memberTraitSoftware" ( ALTER TABLE members."memberTraitSoftware" OWNER TO members; -- --- TOC entry 556 (class 1259 OID 2023805) +-- TOC entry 541 (class 1259 OID 2023805) -- Name: memberTraitSoftware_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5699,8 +5811,8 @@ CREATE SEQUENCE members."memberTraitSoftware_id_seq" ALTER SEQUENCE members."memberTraitSoftware_id_seq" OWNER TO members; -- --- TOC entry 7729 (class 0 OID 0) --- Dependencies: 556 +-- TOC entry 7946 (class 0 OID 0) +-- Dependencies: 541 -- Name: memberTraitSoftware_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5708,7 +5820,7 @@ ALTER SEQUENCE members."memberTraitSoftware_id_seq" OWNED BY members."memberTrai -- --- TOC entry 561 (class 1259 OID 2023826) +-- TOC entry 546 (class 1259 OID 2023826) -- Name: memberTraitWork; Type: TABLE; Schema: members; Owner: members -- @@ -5731,7 +5843,7 @@ CREATE TABLE members."memberTraitWork" ( ALTER TABLE members."memberTraitWork" OWNER TO members; -- --- TOC entry 560 (class 1259 OID 2023825) +-- TOC entry 545 (class 1259 OID 2023825) -- Name: memberTraitWork_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5746,8 +5858,8 @@ CREATE SEQUENCE members."memberTraitWork_id_seq" ALTER SEQUENCE members."memberTraitWork_id_seq" OWNER TO members; -- --- TOC entry 7730 (class 0 OID 0) --- Dependencies: 560 +-- TOC entry 7948 (class 0 OID 0) +-- Dependencies: 545 -- Name: memberTraitWork_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5755,7 +5867,7 @@ ALTER SEQUENCE members."memberTraitWork_id_seq" OWNED BY members."memberTraitWor -- --- TOC entry 553 (class 1259 OID 2023786) +-- TOC entry 538 (class 1259 OID 2023786) -- Name: memberTraits; Type: TABLE; Schema: members; Owner: members -- @@ -5774,7 +5886,7 @@ CREATE TABLE members."memberTraits" ( ALTER TABLE members."memberTraits" OWNER TO members; -- --- TOC entry 552 (class 1259 OID 2023785) +-- TOC entry 537 (class 1259 OID 2023785) -- Name: memberTraits_id_seq; Type: SEQUENCE; Schema: members; Owner: members -- @@ -5789,8 +5901,8 @@ CREATE SEQUENCE members."memberTraits_id_seq" ALTER SEQUENCE members."memberTraits_id_seq" OWNER TO members; -- --- TOC entry 7731 (class 0 OID 0) --- Dependencies: 552 +-- TOC entry 7950 (class 0 OID 0) +-- Dependencies: 537 -- Name: memberTraits_id_seq; Type: SEQUENCE OWNED BY; Schema: members; Owner: members -- @@ -5798,7 +5910,7 @@ ALTER SEQUENCE members."memberTraits_id_seq" OWNED BY members."memberTraits".id; -- --- TOC entry 575 (class 1259 OID 2023903) +-- TOC entry 560 (class 1259 OID 2023903) -- Name: skill; Type: TABLE; Schema: members; Owner: members -- @@ -5816,7 +5928,7 @@ CREATE TABLE members.skill ( ALTER TABLE members.skill OWNER TO members; -- --- TOC entry 574 (class 1259 OID 2023895) +-- TOC entry 559 (class 1259 OID 2023895) -- Name: skillCategory; Type: TABLE; Schema: members; Owner: members -- @@ -5833,7 +5945,7 @@ CREATE TABLE members."skillCategory" ( ALTER TABLE members."skillCategory" OWNER TO members; -- --- TOC entry 577 (class 1259 OID 2023919) +-- TOC entry 562 (class 1259 OID 2023919) -- Name: skillLevel; Type: TABLE; Schema: members; Owner: members -- @@ -5851,7 +5963,7 @@ CREATE TABLE members."skillLevel" ( ALTER TABLE members."skillLevel" OWNER TO members; -- --- TOC entry 334 (class 1259 OID 1348140) +-- TOC entry 331 (class 1259 OID 1348140) -- Name: SequelizeMeta; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -5863,7 +5975,7 @@ CREATE TABLE messages."SequelizeMeta" ( ALTER TABLE messages."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 335 (class 1259 OID 1348143) +-- TOC entry 332 (class 1259 OID 1348143) -- Name: email_logs; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -5887,7 +5999,7 @@ CREATE TABLE messages.email_logs ( ALTER TABLE messages.email_logs OWNER TO topcoder; -- --- TOC entry 336 (class 1259 OID 1348148) +-- TOC entry 333 (class 1259 OID 1348148) -- Name: email_logs_id_seq; Type: SEQUENCE; Schema: messages; Owner: topcoder -- @@ -5902,8 +6014,8 @@ CREATE SEQUENCE messages.email_logs_id_seq ALTER SEQUENCE messages.email_logs_id_seq OWNER TO topcoder; -- --- TOC entry 7734 (class 0 OID 0) --- Dependencies: 336 +-- TOC entry 7956 (class 0 OID 0) +-- Dependencies: 333 -- Name: email_logs_id_seq; Type: SEQUENCE OWNED BY; Schema: messages; Owner: topcoder -- @@ -5911,7 +6023,7 @@ ALTER SEQUENCE messages.email_logs_id_seq OWNED BY messages.email_logs.id; -- --- TOC entry 337 (class 1259 OID 1348149) +-- TOC entry 334 (class 1259 OID 1348149) -- Name: post_attachments; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -5932,7 +6044,7 @@ CREATE TABLE messages.post_attachments ( ALTER TABLE messages.post_attachments OWNER TO topcoder; -- --- TOC entry 338 (class 1259 OID 1348154) +-- TOC entry 335 (class 1259 OID 1348154) -- Name: post_attachments_id_seq; Type: SEQUENCE; Schema: messages; Owner: topcoder -- @@ -5947,8 +6059,8 @@ CREATE SEQUENCE messages.post_attachments_id_seq ALTER SEQUENCE messages.post_attachments_id_seq OWNER TO topcoder; -- --- TOC entry 7737 (class 0 OID 0) --- Dependencies: 338 +-- TOC entry 7959 (class 0 OID 0) +-- Dependencies: 335 -- Name: post_attachments_id_seq; Type: SEQUENCE OWNED BY; Schema: messages; Owner: topcoder -- @@ -5956,7 +6068,7 @@ ALTER SEQUENCE messages.post_attachments_id_seq OWNED BY messages.post_attachmen -- --- TOC entry 339 (class 1259 OID 1348155) +-- TOC entry 336 (class 1259 OID 1348155) -- Name: post_user_stats; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -5971,7 +6083,7 @@ CREATE TABLE messages.post_user_stats ( ALTER TABLE messages.post_user_stats OWNER TO topcoder; -- --- TOC entry 340 (class 1259 OID 1348160) +-- TOC entry 337 (class 1259 OID 1348160) -- Name: posts; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -5998,7 +6110,7 @@ CREATE TABLE messages.posts ( ALTER TABLE messages.posts OWNER TO topcoder; -- --- TOC entry 341 (class 1259 OID 1348166) +-- TOC entry 338 (class 1259 OID 1348166) -- Name: posts_id_seq; Type: SEQUENCE; Schema: messages; Owner: topcoder -- @@ -6013,8 +6125,8 @@ CREATE SEQUENCE messages.posts_id_seq ALTER SEQUENCE messages.posts_id_seq OWNER TO topcoder; -- --- TOC entry 7741 (class 0 OID 0) --- Dependencies: 341 +-- TOC entry 7963 (class 0 OID 0) +-- Dependencies: 338 -- Name: posts_id_seq; Type: SEQUENCE OWNED BY; Schema: messages; Owner: topcoder -- @@ -6022,7 +6134,7 @@ ALTER SEQUENCE messages.posts_id_seq OWNED BY messages.posts.id; -- --- TOC entry 342 (class 1259 OID 1348167) +-- TOC entry 339 (class 1259 OID 1348167) -- Name: reference_lookups; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -6038,7 +6150,7 @@ CREATE TABLE messages.reference_lookups ( ALTER TABLE messages.reference_lookups OWNER TO topcoder; -- --- TOC entry 343 (class 1259 OID 1348172) +-- TOC entry 340 (class 1259 OID 1348172) -- Name: topics; Type: TABLE; Schema: messages; Owner: topcoder -- @@ -6067,7 +6179,7 @@ CREATE TABLE messages.topics ( ALTER TABLE messages.topics OWNER TO topcoder; -- --- TOC entry 344 (class 1259 OID 1348180) +-- TOC entry 341 (class 1259 OID 1348180) -- Name: topics_id_seq; Type: SEQUENCE; Schema: messages; Owner: topcoder -- @@ -6082,8 +6194,8 @@ CREATE SEQUENCE messages.topics_id_seq ALTER SEQUENCE messages.topics_id_seq OWNER TO topcoder; -- --- TOC entry 7745 (class 0 OID 0) --- Dependencies: 344 +-- TOC entry 7967 (class 0 OID 0) +-- Dependencies: 341 -- Name: topics_id_seq; Type: SEQUENCE OWNED BY; Schema: messages; Owner: topcoder -- @@ -6091,7 +6203,7 @@ ALTER SEQUENCE messages.topics_id_seq OWNED BY messages.topics.id; -- --- TOC entry 387 (class 1259 OID 1436585) +-- TOC entry 384 (class 1259 OID 1436585) -- Name: NotificationSettings; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6109,7 +6221,7 @@ CREATE TABLE notifications."NotificationSettings" ( ALTER TABLE notifications."NotificationSettings" OWNER TO topcoder; -- --- TOC entry 388 (class 1259 OID 1436590) +-- TOC entry 385 (class 1259 OID 1436590) -- Name: NotificationSettings_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6124,8 +6236,8 @@ CREATE SEQUENCE notifications."NotificationSettings_id_seq" ALTER SEQUENCE notifications."NotificationSettings_id_seq" OWNER TO topcoder; -- --- TOC entry 7748 (class 0 OID 0) --- Dependencies: 388 +-- TOC entry 7970 (class 0 OID 0) +-- Dependencies: 385 -- Name: NotificationSettings_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6133,7 +6245,7 @@ ALTER SEQUENCE notifications."NotificationSettings_id_seq" OWNED BY notification -- --- TOC entry 389 (class 1259 OID 1436591) +-- TOC entry 386 (class 1259 OID 1436591) -- Name: Notifications; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6153,7 +6265,7 @@ CREATE TABLE notifications."Notifications" ( ALTER TABLE notifications."Notifications" OWNER TO topcoder; -- --- TOC entry 390 (class 1259 OID 1436596) +-- TOC entry 387 (class 1259 OID 1436596) -- Name: Notifications_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6168,8 +6280,8 @@ CREATE SEQUENCE notifications."Notifications_id_seq" ALTER SEQUENCE notifications."Notifications_id_seq" OWNER TO topcoder; -- --- TOC entry 7751 (class 0 OID 0) --- Dependencies: 390 +-- TOC entry 7973 (class 0 OID 0) +-- Dependencies: 387 -- Name: Notifications_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6177,7 +6289,7 @@ ALTER SEQUENCE notifications."Notifications_id_seq" OWNED BY notifications."Noti -- --- TOC entry 391 (class 1259 OID 1436597) +-- TOC entry 388 (class 1259 OID 1436597) -- Name: ScheduledEvents; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6199,7 +6311,7 @@ CREATE TABLE notifications."ScheduledEvents" ( ALTER TABLE notifications."ScheduledEvents" OWNER TO topcoder; -- --- TOC entry 392 (class 1259 OID 1436602) +-- TOC entry 389 (class 1259 OID 1436602) -- Name: ScheduledEvents_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6214,8 +6326,8 @@ CREATE SEQUENCE notifications."ScheduledEvents_id_seq" ALTER SEQUENCE notifications."ScheduledEvents_id_seq" OWNER TO topcoder; -- --- TOC entry 7754 (class 0 OID 0) --- Dependencies: 392 +-- TOC entry 7976 (class 0 OID 0) +-- Dependencies: 389 -- Name: ScheduledEvents_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6223,7 +6335,7 @@ ALTER SEQUENCE notifications."ScheduledEvents_id_seq" OWNED BY notifications."Sc -- --- TOC entry 393 (class 1259 OID 1436603) +-- TOC entry 390 (class 1259 OID 1436603) -- Name: ServiceSettings; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6239,7 +6351,7 @@ CREATE TABLE notifications."ServiceSettings" ( ALTER TABLE notifications."ServiceSettings" OWNER TO topcoder; -- --- TOC entry 394 (class 1259 OID 1436608) +-- TOC entry 391 (class 1259 OID 1436608) -- Name: ServiceSettings_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6254,8 +6366,8 @@ CREATE SEQUENCE notifications."ServiceSettings_id_seq" ALTER SEQUENCE notifications."ServiceSettings_id_seq" OWNER TO topcoder; -- --- TOC entry 7757 (class 0 OID 0) --- Dependencies: 394 +-- TOC entry 7979 (class 0 OID 0) +-- Dependencies: 391 -- Name: ServiceSettings_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6263,7 +6375,7 @@ ALTER SEQUENCE notifications."ServiceSettings_id_seq" OWNED BY notifications."Se -- --- TOC entry 395 (class 1259 OID 1436609) +-- TOC entry 392 (class 1259 OID 1436609) -- Name: bk_notifications_20200609; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6283,7 +6395,7 @@ CREATE TABLE notifications.bk_notifications_20200609 ( ALTER TABLE notifications.bk_notifications_20200609 OWNER TO topcoder; -- --- TOC entry 396 (class 1259 OID 1436614) +-- TOC entry 393 (class 1259 OID 1436614) -- Name: bulk_message_user_refs; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6300,7 +6412,7 @@ CREATE TABLE notifications.bulk_message_user_refs ( ALTER TABLE notifications.bulk_message_user_refs OWNER TO topcoder; -- --- TOC entry 397 (class 1259 OID 1436617) +-- TOC entry 394 (class 1259 OID 1436617) -- Name: bulk_message_user_refs_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6315,8 +6427,8 @@ CREATE SEQUENCE notifications.bulk_message_user_refs_id_seq ALTER SEQUENCE notifications.bulk_message_user_refs_id_seq OWNER TO topcoder; -- --- TOC entry 7761 (class 0 OID 0) --- Dependencies: 397 +-- TOC entry 7983 (class 0 OID 0) +-- Dependencies: 394 -- Name: bulk_message_user_refs_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6324,7 +6436,7 @@ ALTER SEQUENCE notifications.bulk_message_user_refs_id_seq OWNED BY notification -- --- TOC entry 398 (class 1259 OID 1436618) +-- TOC entry 395 (class 1259 OID 1436618) -- Name: bulk_messages; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6341,7 +6453,7 @@ CREATE TABLE notifications.bulk_messages ( ALTER TABLE notifications.bulk_messages OWNER TO topcoder; -- --- TOC entry 399 (class 1259 OID 1436623) +-- TOC entry 396 (class 1259 OID 1436623) -- Name: bulk_messages_id_seq; Type: SEQUENCE; Schema: notifications; Owner: topcoder -- @@ -6356,8 +6468,8 @@ CREATE SEQUENCE notifications.bulk_messages_id_seq ALTER SEQUENCE notifications.bulk_messages_id_seq OWNER TO topcoder; -- --- TOC entry 7764 (class 0 OID 0) --- Dependencies: 399 +-- TOC entry 7986 (class 0 OID 0) +-- Dependencies: 396 -- Name: bulk_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: notifications; Owner: topcoder -- @@ -6365,7 +6477,7 @@ ALTER SEQUENCE notifications.bulk_messages_id_seq OWNED BY notifications.bulk_me -- --- TOC entry 400 (class 1259 OID 1436624) +-- TOC entry 397 (class 1259 OID 1436624) -- Name: tmpbtable; Type: TABLE; Schema: notifications; Owner: topcoder -- @@ -6379,7 +6491,7 @@ CREATE TABLE notifications.tmpbtable ( ALTER TABLE notifications.tmpbtable OWNER TO topcoder; -- --- TOC entry 238 (class 1259 OID 1323830) +-- TOC entry 240 (class 1259 OID 1323830) -- Name: SequelizeMeta; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6391,7 +6503,7 @@ CREATE TABLE projects."SequelizeMeta" ( ALTER TABLE projects."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 239 (class 1259 OID 1323833) +-- TOC entry 241 (class 1259 OID 1323833) -- Name: building_blocks; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6412,7 +6524,7 @@ CREATE TABLE projects.building_blocks ( ALTER TABLE projects.building_blocks OWNER TO topcoder; -- --- TOC entry 240 (class 1259 OID 1323840) +-- TOC entry 242 (class 1259 OID 1323840) -- Name: building_blocks_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6427,8 +6539,8 @@ CREATE SEQUENCE projects.building_blocks_id_seq ALTER SEQUENCE projects.building_blocks_id_seq OWNER TO topcoder; -- --- TOC entry 7769 (class 0 OID 0) --- Dependencies: 240 +-- TOC entry 7991 (class 0 OID 0) +-- Dependencies: 242 -- Name: building_blocks_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6436,7 +6548,7 @@ ALTER SEQUENCE projects.building_blocks_id_seq OWNED BY projects.building_blocks -- --- TOC entry 303 (class 1259 OID 1332735) +-- TOC entry 305 (class 1259 OID 1332735) -- Name: copilot_applications; Type: TABLE; Schema: projects; Owner: projects -- @@ -6458,7 +6570,7 @@ CREATE TABLE projects.copilot_applications ( ALTER TABLE projects.copilot_applications OWNER TO projects; -- --- TOC entry 302 (class 1259 OID 1332734) +-- TOC entry 304 (class 1259 OID 1332734) -- Name: copilot_applications_id_seq; Type: SEQUENCE; Schema: projects; Owner: projects -- @@ -6473,8 +6585,8 @@ CREATE SEQUENCE projects.copilot_applications_id_seq ALTER SEQUENCE projects.copilot_applications_id_seq OWNER TO projects; -- --- TOC entry 7772 (class 0 OID 0) --- Dependencies: 302 +-- TOC entry 7994 (class 0 OID 0) +-- Dependencies: 304 -- Name: copilot_applications_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: projects -- @@ -6482,7 +6594,7 @@ ALTER SEQUENCE projects.copilot_applications_id_seq OWNED BY projects.copilot_ap -- --- TOC entry 241 (class 1259 OID 1323841) +-- TOC entry 243 (class 1259 OID 1323841) -- Name: copilot_opportunities; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6504,7 +6616,7 @@ CREATE TABLE projects.copilot_opportunities ( ALTER TABLE projects.copilot_opportunities OWNER TO topcoder; -- --- TOC entry 242 (class 1259 OID 1323844) +-- TOC entry 244 (class 1259 OID 1323844) -- Name: copilot_opportunities_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6519,8 +6631,8 @@ CREATE SEQUENCE projects.copilot_opportunities_id_seq ALTER SEQUENCE projects.copilot_opportunities_id_seq OWNER TO topcoder; -- --- TOC entry 7775 (class 0 OID 0) --- Dependencies: 242 +-- TOC entry 7997 (class 0 OID 0) +-- Dependencies: 244 -- Name: copilot_opportunities_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6528,7 +6640,7 @@ ALTER SEQUENCE projects.copilot_opportunities_id_seq OWNED BY projects.copilot_o -- --- TOC entry 243 (class 1259 OID 1323845) +-- TOC entry 245 (class 1259 OID 1323845) -- Name: copilot_requests; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6550,7 +6662,7 @@ CREATE TABLE projects.copilot_requests ( ALTER TABLE projects.copilot_requests OWNER TO topcoder; -- --- TOC entry 244 (class 1259 OID 1323850) +-- TOC entry 246 (class 1259 OID 1323850) -- Name: copilot_requests_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6565,8 +6677,8 @@ CREATE SEQUENCE projects.copilot_requests_id_seq ALTER SEQUENCE projects.copilot_requests_id_seq OWNER TO topcoder; -- --- TOC entry 7778 (class 0 OID 0) --- Dependencies: 244 +-- TOC entry 8000 (class 0 OID 0) +-- Dependencies: 246 -- Name: copilot_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6574,7 +6686,7 @@ ALTER SEQUENCE projects.copilot_requests_id_seq OWNED BY projects.copilot_reques -- --- TOC entry 245 (class 1259 OID 1323851) +-- TOC entry 247 (class 1259 OID 1323851) -- Name: customer_payments; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6598,7 +6710,7 @@ CREATE TABLE projects.customer_payments ( ALTER TABLE projects.customer_payments OWNER TO topcoder; -- --- TOC entry 246 (class 1259 OID 1323856) +-- TOC entry 248 (class 1259 OID 1323856) -- Name: customer_payments_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6613,8 +6725,8 @@ CREATE SEQUENCE projects.customer_payments_id_seq ALTER SEQUENCE projects.customer_payments_id_seq OWNER TO topcoder; -- --- TOC entry 7781 (class 0 OID 0) --- Dependencies: 246 +-- TOC entry 8003 (class 0 OID 0) +-- Dependencies: 248 -- Name: customer_payments_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6622,7 +6734,7 @@ ALTER SEQUENCE projects.customer_payments_id_seq OWNED BY projects.customer_paym -- --- TOC entry 247 (class 1259 OID 1323857) +-- TOC entry 249 (class 1259 OID 1323857) -- Name: form; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6644,7 +6756,7 @@ CREATE TABLE projects.form ( ALTER TABLE projects.form OWNER TO topcoder; -- --- TOC entry 248 (class 1259 OID 1323865) +-- TOC entry 250 (class 1259 OID 1323865) -- Name: form_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6659,8 +6771,8 @@ CREATE SEQUENCE projects.form_id_seq ALTER SEQUENCE projects.form_id_seq OWNER TO topcoder; -- --- TOC entry 7784 (class 0 OID 0) --- Dependencies: 248 +-- TOC entry 8006 (class 0 OID 0) +-- Dependencies: 250 -- Name: form_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6668,7 +6780,7 @@ ALTER SEQUENCE projects.form_id_seq OWNED BY projects.form.id; -- --- TOC entry 249 (class 1259 OID 1323866) +-- TOC entry 251 (class 1259 OID 1323866) -- Name: milestone_templates; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6699,7 +6811,7 @@ CREATE TABLE projects.milestone_templates ( ALTER TABLE projects.milestone_templates OWNER TO topcoder; -- --- TOC entry 250 (class 1259 OID 1323872) +-- TOC entry 252 (class 1259 OID 1323872) -- Name: milestones; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6734,7 +6846,7 @@ CREATE TABLE projects.milestones ( ALTER TABLE projects.milestones OWNER TO topcoder; -- --- TOC entry 251 (class 1259 OID 1323878) +-- TOC entry 253 (class 1259 OID 1323878) -- Name: milestones_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6749,8 +6861,8 @@ CREATE SEQUENCE projects.milestones_id_seq ALTER SEQUENCE projects.milestones_id_seq OWNER TO topcoder; -- --- TOC entry 7788 (class 0 OID 0) --- Dependencies: 251 +-- TOC entry 8010 (class 0 OID 0) +-- Dependencies: 253 -- Name: milestones_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6758,7 +6870,7 @@ ALTER SEQUENCE projects.milestones_id_seq OWNED BY projects.milestones.id; -- --- TOC entry 252 (class 1259 OID 1323879) +-- TOC entry 254 (class 1259 OID 1323879) -- Name: org_config; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6779,7 +6891,7 @@ CREATE TABLE projects.org_config ( ALTER TABLE projects.org_config OWNER TO topcoder; -- --- TOC entry 253 (class 1259 OID 1323884) +-- TOC entry 255 (class 1259 OID 1323884) -- Name: org_config_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6794,8 +6906,8 @@ CREATE SEQUENCE projects.org_config_id_seq ALTER SEQUENCE projects.org_config_id_seq OWNER TO topcoder; -- --- TOC entry 7791 (class 0 OID 0) --- Dependencies: 253 +-- TOC entry 8013 (class 0 OID 0) +-- Dependencies: 255 -- Name: org_config_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6803,7 +6915,7 @@ ALTER SEQUENCE projects.org_config_id_seq OWNED BY projects.org_config.id; -- --- TOC entry 254 (class 1259 OID 1323885) +-- TOC entry 256 (class 1259 OID 1323885) -- Name: phase_products; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6831,7 +6943,7 @@ CREATE TABLE projects.phase_products ( ALTER TABLE projects.phase_products OWNER TO topcoder; -- --- TOC entry 255 (class 1259 OID 1323894) +-- TOC entry 257 (class 1259 OID 1323894) -- Name: phase_products_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6846,8 +6958,8 @@ CREATE SEQUENCE projects.phase_products_id_seq ALTER SEQUENCE projects.phase_products_id_seq OWNER TO topcoder; -- --- TOC entry 7794 (class 0 OID 0) --- Dependencies: 255 +-- TOC entry 8016 (class 0 OID 0) +-- Dependencies: 257 -- Name: phase_products_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6855,7 +6967,7 @@ ALTER SEQUENCE projects.phase_products_id_seq OWNED BY projects.phase_products.i -- --- TOC entry 256 (class 1259 OID 1323895) +-- TOC entry 258 (class 1259 OID 1323895) -- Name: phase_work_streams; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6868,7 +6980,7 @@ CREATE TABLE projects.phase_work_streams ( ALTER TABLE projects.phase_work_streams OWNER TO topcoder; -- --- TOC entry 257 (class 1259 OID 1323898) +-- TOC entry 259 (class 1259 OID 1323898) -- Name: plan_config; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6890,7 +7002,7 @@ CREATE TABLE projects.plan_config ( ALTER TABLE projects.plan_config OWNER TO topcoder; -- --- TOC entry 258 (class 1259 OID 1323906) +-- TOC entry 260 (class 1259 OID 1323906) -- Name: plan_config_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6905,8 +7017,8 @@ CREATE SEQUENCE projects.plan_config_id_seq ALTER SEQUENCE projects.plan_config_id_seq OWNER TO topcoder; -- --- TOC entry 7798 (class 0 OID 0) --- Dependencies: 258 +-- TOC entry 8020 (class 0 OID 0) +-- Dependencies: 260 -- Name: plan_config_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6914,7 +7026,7 @@ ALTER SEQUENCE projects.plan_config_id_seq OWNED BY projects.plan_config.id; -- --- TOC entry 259 (class 1259 OID 1323907) +-- TOC entry 261 (class 1259 OID 1323907) -- Name: price_config; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6936,7 +7048,7 @@ CREATE TABLE projects.price_config ( ALTER TABLE projects.price_config OWNER TO topcoder; -- --- TOC entry 260 (class 1259 OID 1323915) +-- TOC entry 262 (class 1259 OID 1323915) -- Name: price_config_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -6951,8 +7063,8 @@ CREATE SEQUENCE projects.price_config_id_seq ALTER SEQUENCE projects.price_config_id_seq OWNER TO topcoder; -- --- TOC entry 7801 (class 0 OID 0) --- Dependencies: 260 +-- TOC entry 8023 (class 0 OID 0) +-- Dependencies: 262 -- Name: price_config_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -6960,7 +7072,7 @@ ALTER SEQUENCE projects.price_config_id_seq OWNED BY projects.price_config.id; -- --- TOC entry 261 (class 1259 OID 1323916) +-- TOC entry 263 (class 1259 OID 1323916) -- Name: product_categories; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -6985,7 +7097,7 @@ CREATE TABLE projects.product_categories ( ALTER TABLE projects.product_categories OWNER TO topcoder; -- --- TOC entry 262 (class 1259 OID 1323923) +-- TOC entry 264 (class 1259 OID 1323923) -- Name: product_milestone_templates_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7000,8 +7112,8 @@ CREATE SEQUENCE projects.product_milestone_templates_id_seq ALTER SEQUENCE projects.product_milestone_templates_id_seq OWNER TO topcoder; -- --- TOC entry 7804 (class 0 OID 0) --- Dependencies: 262 +-- TOC entry 8026 (class 0 OID 0) +-- Dependencies: 264 -- Name: product_milestone_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7009,7 +7121,7 @@ ALTER SEQUENCE projects.product_milestone_templates_id_seq OWNED BY projects.mil -- --- TOC entry 263 (class 1259 OID 1323924) +-- TOC entry 265 (class 1259 OID 1323924) -- Name: product_templates; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7040,7 +7152,7 @@ CREATE TABLE projects.product_templates ( ALTER TABLE projects.product_templates OWNER TO topcoder; -- --- TOC entry 264 (class 1259 OID 1323932) +-- TOC entry 266 (class 1259 OID 1323932) -- Name: product_templates_backup; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7071,7 +7183,7 @@ CREATE TABLE projects.product_templates_backup ( ALTER TABLE projects.product_templates_backup OWNER TO topcoder; -- --- TOC entry 265 (class 1259 OID 1323937) +-- TOC entry 267 (class 1259 OID 1323937) -- Name: product_templates_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7086,8 +7198,8 @@ CREATE SEQUENCE projects.product_templates_id_seq ALTER SEQUENCE projects.product_templates_id_seq OWNER TO topcoder; -- --- TOC entry 7808 (class 0 OID 0) --- Dependencies: 265 +-- TOC entry 8030 (class 0 OID 0) +-- Dependencies: 267 -- Name: product_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7095,7 +7207,7 @@ ALTER SEQUENCE projects.product_templates_id_seq OWNED BY projects.product_templ -- --- TOC entry 266 (class 1259 OID 1323938) +-- TOC entry 268 (class 1259 OID 1323938) -- Name: project_attachments; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7123,7 +7235,7 @@ CREATE TABLE projects.project_attachments ( ALTER TABLE projects.project_attachments OWNER TO topcoder; -- --- TOC entry 267 (class 1259 OID 1323943) +-- TOC entry 269 (class 1259 OID 1323943) -- Name: project_attachments_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7138,8 +7250,8 @@ CREATE SEQUENCE projects.project_attachments_id_seq ALTER SEQUENCE projects.project_attachments_id_seq OWNER TO topcoder; -- --- TOC entry 7811 (class 0 OID 0) --- Dependencies: 267 +-- TOC entry 8033 (class 0 OID 0) +-- Dependencies: 269 -- Name: project_attachments_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7147,7 +7259,7 @@ ALTER SEQUENCE projects.project_attachments_id_seq OWNED BY projects.project_att -- --- TOC entry 268 (class 1259 OID 1323944) +-- TOC entry 270 (class 1259 OID 1323944) -- Name: project_estimation_items_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7162,8 +7274,8 @@ CREATE SEQUENCE projects.project_estimation_items_id_seq ALTER SEQUENCE projects.project_estimation_items_id_seq OWNER TO topcoder; -- --- TOC entry 7813 (class 0 OID 0) --- Dependencies: 268 +-- TOC entry 8035 (class 0 OID 0) +-- Dependencies: 270 -- Name: project_estimation_items_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7171,7 +7283,7 @@ ALTER SEQUENCE projects.project_estimation_items_id_seq OWNED BY projects.form.i -- --- TOC entry 269 (class 1259 OID 1323945) +-- TOC entry 271 (class 1259 OID 1323945) -- Name: project_estimation_items; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7195,7 +7307,7 @@ CREATE TABLE projects.project_estimation_items ( ALTER TABLE projects.project_estimation_items OWNER TO topcoder; -- --- TOC entry 270 (class 1259 OID 1323952) +-- TOC entry 272 (class 1259 OID 1323952) -- Name: project_estimations; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7221,7 +7333,7 @@ CREATE TABLE projects.project_estimations ( ALTER TABLE projects.project_estimations OWNER TO topcoder; -- --- TOC entry 271 (class 1259 OID 1323959) +-- TOC entry 273 (class 1259 OID 1323959) -- Name: project_estimations_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7236,8 +7348,8 @@ CREATE SEQUENCE projects.project_estimations_id_seq ALTER SEQUENCE projects.project_estimations_id_seq OWNER TO topcoder; -- --- TOC entry 7817 (class 0 OID 0) --- Dependencies: 271 +-- TOC entry 8039 (class 0 OID 0) +-- Dependencies: 273 -- Name: project_estimations_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7245,7 +7357,7 @@ ALTER SEQUENCE projects.project_estimations_id_seq OWNED BY projects.project_est -- --- TOC entry 272 (class 1259 OID 1323960) +-- TOC entry 274 (class 1259 OID 1323960) -- Name: project_history; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7263,7 +7375,7 @@ CREATE TABLE projects.project_history ( ALTER TABLE projects.project_history OWNER TO topcoder; -- --- TOC entry 273 (class 1259 OID 1323965) +-- TOC entry 275 (class 1259 OID 1323965) -- Name: project_history_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7278,8 +7390,8 @@ CREATE SEQUENCE projects.project_history_id_seq ALTER SEQUENCE projects.project_history_id_seq OWNER TO topcoder; -- --- TOC entry 7820 (class 0 OID 0) --- Dependencies: 273 +-- TOC entry 8042 (class 0 OID 0) +-- Dependencies: 275 -- Name: project_history_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7287,7 +7399,7 @@ ALTER SEQUENCE projects.project_history_id_seq OWNED BY projects.project_history -- --- TOC entry 274 (class 1259 OID 1323966) +-- TOC entry 276 (class 1259 OID 1323966) -- Name: project_member_invites; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7311,7 +7423,7 @@ CREATE TABLE projects.project_member_invites ( ALTER TABLE projects.project_member_invites OWNER TO topcoder; -- --- TOC entry 275 (class 1259 OID 1323971) +-- TOC entry 277 (class 1259 OID 1323971) -- Name: project_member_invites_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7326,8 +7438,8 @@ CREATE SEQUENCE projects.project_member_invites_id_seq ALTER SEQUENCE projects.project_member_invites_id_seq OWNER TO topcoder; -- --- TOC entry 7823 (class 0 OID 0) --- Dependencies: 275 +-- TOC entry 8045 (class 0 OID 0) +-- Dependencies: 277 -- Name: project_member_invites_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7335,7 +7447,7 @@ ALTER SEQUENCE projects.project_member_invites_id_seq OWNED BY projects.project_ -- --- TOC entry 276 (class 1259 OID 1323972) +-- TOC entry 278 (class 1259 OID 1323972) -- Name: project_members; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7357,7 +7469,7 @@ CREATE TABLE projects.project_members ( ALTER TABLE projects.project_members OWNER TO topcoder; -- --- TOC entry 277 (class 1259 OID 1323976) +-- TOC entry 279 (class 1259 OID 1323976) -- Name: project_members_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7372,8 +7484,8 @@ CREATE SEQUENCE projects.project_members_id_seq ALTER SEQUENCE projects.project_members_id_seq OWNER TO topcoder; -- --- TOC entry 7826 (class 0 OID 0) --- Dependencies: 277 +-- TOC entry 8048 (class 0 OID 0) +-- Dependencies: 279 -- Name: project_members_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7381,7 +7493,7 @@ ALTER SEQUENCE projects.project_members_id_seq OWNED BY projects.project_members -- --- TOC entry 278 (class 1259 OID 1323977) +-- TOC entry 280 (class 1259 OID 1323977) -- Name: project_phase_approval_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7396,7 +7508,7 @@ CREATE SEQUENCE projects.project_phase_approval_id_seq ALTER SEQUENCE projects.project_phase_approval_id_seq OWNER TO topcoder; -- --- TOC entry 279 (class 1259 OID 1323978) +-- TOC entry 281 (class 1259 OID 1323978) -- Name: project_phase_approval; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7420,7 +7532,7 @@ CREATE TABLE projects.project_phase_approval ( ALTER TABLE projects.project_phase_approval OWNER TO topcoder; -- --- TOC entry 280 (class 1259 OID 1323984) +-- TOC entry 282 (class 1259 OID 1323984) -- Name: project_phase_member_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7435,7 +7547,7 @@ CREATE SEQUENCE projects.project_phase_member_id_seq ALTER SEQUENCE projects.project_phase_member_id_seq OWNER TO topcoder; -- --- TOC entry 281 (class 1259 OID 1323985) +-- TOC entry 283 (class 1259 OID 1323985) -- Name: project_phase_member; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7455,7 +7567,7 @@ CREATE TABLE projects.project_phase_member ( ALTER TABLE projects.project_phase_member OWNER TO topcoder; -- --- TOC entry 282 (class 1259 OID 1323989) +-- TOC entry 284 (class 1259 OID 1323989) -- Name: project_phases; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7486,7 +7598,7 @@ CREATE TABLE projects.project_phases ( ALTER TABLE projects.project_phases OWNER TO topcoder; -- --- TOC entry 283 (class 1259 OID 1323998) +-- TOC entry 285 (class 1259 OID 1323998) -- Name: project_phases_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7501,8 +7613,8 @@ CREATE SEQUENCE projects.project_phases_id_seq ALTER SEQUENCE projects.project_phases_id_seq OWNER TO topcoder; -- --- TOC entry 7833 (class 0 OID 0) --- Dependencies: 283 +-- TOC entry 8055 (class 0 OID 0) +-- Dependencies: 285 -- Name: project_phases_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7510,7 +7622,7 @@ ALTER SEQUENCE projects.project_phases_id_seq OWNED BY projects.project_phases.i -- --- TOC entry 284 (class 1259 OID 1323999) +-- TOC entry 286 (class 1259 OID 1323999) -- Name: project_settings; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7535,7 +7647,7 @@ CREATE TABLE projects.project_settings ( ALTER TABLE projects.project_settings OWNER TO topcoder; -- --- TOC entry 285 (class 1259 OID 1324007) +-- TOC entry 287 (class 1259 OID 1324007) -- Name: project_settings_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7550,8 +7662,8 @@ CREATE SEQUENCE projects.project_settings_id_seq ALTER SEQUENCE projects.project_settings_id_seq OWNER TO topcoder; -- --- TOC entry 7836 (class 0 OID 0) --- Dependencies: 285 +-- TOC entry 8058 (class 0 OID 0) +-- Dependencies: 287 -- Name: project_settings_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7559,7 +7671,7 @@ ALTER SEQUENCE projects.project_settings_id_seq OWNED BY projects.project_settin -- --- TOC entry 286 (class 1259 OID 1324008) +-- TOC entry 288 (class 1259 OID 1324008) -- Name: project_templates; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7593,7 +7705,7 @@ CREATE TABLE projects.project_templates ( ALTER TABLE projects.project_templates OWNER TO topcoder; -- --- TOC entry 287 (class 1259 OID 1324016) +-- TOC entry 289 (class 1259 OID 1324016) -- Name: project_templates_backup; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7625,7 +7737,7 @@ CREATE TABLE projects.project_templates_backup ( ALTER TABLE projects.project_templates_backup OWNER TO topcoder; -- --- TOC entry 288 (class 1259 OID 1324021) +-- TOC entry 290 (class 1259 OID 1324021) -- Name: project_templates_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7640,8 +7752,8 @@ CREATE SEQUENCE projects.project_templates_id_seq ALTER SEQUENCE projects.project_templates_id_seq OWNER TO topcoder; -- --- TOC entry 7840 (class 0 OID 0) --- Dependencies: 288 +-- TOC entry 8062 (class 0 OID 0) +-- Dependencies: 290 -- Name: project_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7649,7 +7761,7 @@ ALTER SEQUENCE projects.project_templates_id_seq OWNED BY projects.project_templ -- --- TOC entry 289 (class 1259 OID 1324022) +-- TOC entry 291 (class 1259 OID 1324022) -- Name: project_types; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7675,7 +7787,7 @@ CREATE TABLE projects.project_types ( ALTER TABLE projects.project_types OWNER TO topcoder; -- --- TOC entry 290 (class 1259 OID 1324029) +-- TOC entry 292 (class 1259 OID 1324029) -- Name: projects; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7714,7 +7826,7 @@ CREATE TABLE projects.projects ( ALTER TABLE projects.projects OWNER TO topcoder; -- --- TOC entry 291 (class 1259 OID 1324037) +-- TOC entry 293 (class 1259 OID 1324037) -- Name: projects_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7729,8 +7841,8 @@ CREATE SEQUENCE projects.projects_id_seq ALTER SEQUENCE projects.projects_id_seq OWNER TO topcoder; -- --- TOC entry 7844 (class 0 OID 0) --- Dependencies: 291 +-- TOC entry 8066 (class 0 OID 0) +-- Dependencies: 293 -- Name: projects_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7738,7 +7850,7 @@ ALTER SEQUENCE projects.projects_id_seq OWNED BY projects.projects.id; -- --- TOC entry 292 (class 1259 OID 1324038) +-- TOC entry 294 (class 1259 OID 1324038) -- Name: scope_change_requests; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7762,7 +7874,7 @@ CREATE TABLE projects.scope_change_requests ( ALTER TABLE projects.scope_change_requests OWNER TO topcoder; -- --- TOC entry 293 (class 1259 OID 1324043) +-- TOC entry 295 (class 1259 OID 1324043) -- Name: scope_change_requests_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7777,8 +7889,8 @@ CREATE SEQUENCE projects.scope_change_requests_id_seq ALTER SEQUENCE projects.scope_change_requests_id_seq OWNER TO topcoder; -- --- TOC entry 7847 (class 0 OID 0) --- Dependencies: 293 +-- TOC entry 8069 (class 0 OID 0) +-- Dependencies: 295 -- Name: scope_change_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7786,7 +7898,7 @@ ALTER SEQUENCE projects.scope_change_requests_id_seq OWNED BY projects.scope_cha -- --- TOC entry 294 (class 1259 OID 1324044) +-- TOC entry 296 (class 1259 OID 1324044) -- Name: status_history; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7806,7 +7918,7 @@ CREATE TABLE projects.status_history ( ALTER TABLE projects.status_history OWNER TO topcoder; -- --- TOC entry 295 (class 1259 OID 1324049) +-- TOC entry 297 (class 1259 OID 1324049) -- Name: status_history_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7821,8 +7933,8 @@ CREATE SEQUENCE projects.status_history_id_seq ALTER SEQUENCE projects.status_history_id_seq OWNER TO topcoder; -- --- TOC entry 7850 (class 0 OID 0) --- Dependencies: 295 +-- TOC entry 8072 (class 0 OID 0) +-- Dependencies: 297 -- Name: status_history_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7830,7 +7942,7 @@ ALTER SEQUENCE projects.status_history_id_seq OWNED BY projects.status_history.i -- --- TOC entry 296 (class 1259 OID 1324050) +-- TOC entry 298 (class 1259 OID 1324050) -- Name: timelines; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7854,7 +7966,7 @@ CREATE TABLE projects.timelines ( ALTER TABLE projects.timelines OWNER TO topcoder; -- --- TOC entry 297 (class 1259 OID 1324055) +-- TOC entry 299 (class 1259 OID 1324055) -- Name: timelines_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7869,8 +7981,8 @@ CREATE SEQUENCE projects.timelines_id_seq ALTER SEQUENCE projects.timelines_id_seq OWNER TO topcoder; -- --- TOC entry 7853 (class 0 OID 0) --- Dependencies: 297 +-- TOC entry 8075 (class 0 OID 0) +-- Dependencies: 299 -- Name: timelines_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7878,7 +7990,7 @@ ALTER SEQUENCE projects.timelines_id_seq OWNED BY projects.timelines.id; -- --- TOC entry 298 (class 1259 OID 1324056) +-- TOC entry 300 (class 1259 OID 1324056) -- Name: work_management_permissions; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7899,7 +8011,7 @@ CREATE TABLE projects.work_management_permissions ( ALTER TABLE projects.work_management_permissions OWNER TO topcoder; -- --- TOC entry 299 (class 1259 OID 1324061) +-- TOC entry 301 (class 1259 OID 1324061) -- Name: work_management_permissions_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7914,8 +8026,8 @@ CREATE SEQUENCE projects.work_management_permissions_id_seq ALTER SEQUENCE projects.work_management_permissions_id_seq OWNER TO topcoder; -- --- TOC entry 7856 (class 0 OID 0) --- Dependencies: 299 +-- TOC entry 8078 (class 0 OID 0) +-- Dependencies: 301 -- Name: work_management_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7923,7 +8035,7 @@ ALTER SEQUENCE projects.work_management_permissions_id_seq OWNED BY projects.wor -- --- TOC entry 300 (class 1259 OID 1324062) +-- TOC entry 302 (class 1259 OID 1324062) -- Name: work_streams; Type: TABLE; Schema: projects; Owner: topcoder -- @@ -7945,7 +8057,7 @@ CREATE TABLE projects.work_streams ( ALTER TABLE projects.work_streams OWNER TO topcoder; -- --- TOC entry 301 (class 1259 OID 1324067) +-- TOC entry 303 (class 1259 OID 1324067) -- Name: work_streams_id_seq; Type: SEQUENCE; Schema: projects; Owner: topcoder -- @@ -7960,8 +8072,8 @@ CREATE SEQUENCE projects.work_streams_id_seq ALTER SEQUENCE projects.work_streams_id_seq OWNER TO topcoder; -- --- TOC entry 7859 (class 0 OID 0) --- Dependencies: 301 +-- TOC entry 8081 (class 0 OID 0) +-- Dependencies: 303 -- Name: work_streams_id_seq; Type: SEQUENCE OWNED BY; Schema: projects; Owner: topcoder -- @@ -7969,29 +8081,7 @@ ALTER SEQUENCE projects.work_streams_id_seq OWNED BY projects.work_streams.id; -- --- TOC entry 508 (class 1259 OID 2015711) --- Name: Resource; Type: TABLE; Schema: resources; Owner: resources --- - -CREATE TABLE resources."Resource" ( - id text NOT NULL, - "challengeId" text NOT NULL, - "memberId" text NOT NULL, - "memberHandle" text NOT NULL, - "roleId" text NOT NULL, - "createdAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, - "createdBy" text NOT NULL, - "updatedAt" timestamp(3) without time zone, - "updatedBy" text, - "legacyId" integer, - "phaseChangeNotifications" boolean DEFAULT true -); - - -ALTER TABLE resources."Resource" OWNER TO resources; - --- --- TOC entry 507 (class 1259 OID 2015703) +-- TOC entry 497 (class 1259 OID 2015703) -- Name: ResourceRole; Type: TABLE; Schema: resources; Owner: resources -- @@ -8014,7 +8104,7 @@ CREATE TABLE resources."ResourceRole" ( ALTER TABLE resources."ResourceRole" OWNER TO resources; -- --- TOC entry 509 (class 1259 OID 2015719) +-- TOC entry 499 (class 1259 OID 2015719) -- Name: ResourceRolePhaseDependency; Type: TABLE; Schema: resources; Owner: resources -- @@ -8033,7 +8123,7 @@ CREATE TABLE resources."ResourceRolePhaseDependency" ( ALTER TABLE resources."ResourceRolePhaseDependency" OWNER TO resources; -- --- TOC entry 506 (class 1259 OID 2015678) +-- TOC entry 496 (class 1259 OID 2015678) -- Name: _prisma_migrations; Type: TABLE; Schema: resources; Owner: resources -- @@ -8052,7 +8142,7 @@ CREATE TABLE resources._prisma_migrations ( ALTER TABLE resources._prisma_migrations OWNER TO resources; -- --- TOC entry 584 (class 1259 OID 2033637) +-- TOC entry 569 (class 1259 OID 2033637) -- Name: _prisma_migrations; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8071,7 +8161,7 @@ CREATE TABLE reviews._prisma_migrations ( ALTER TABLE reviews._prisma_migrations OWNER TO reviews; -- --- TOC entry 606 (class 1259 OID 2034228) +-- TOC entry 591 (class 1259 OID 2034228) -- Name: aiWorkflow; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8094,7 +8184,7 @@ CREATE TABLE reviews."aiWorkflow" ( ALTER TABLE reviews."aiWorkflow" OWNER TO reviews; -- --- TOC entry 607 (class 1259 OID 2034237) +-- TOC entry 592 (class 1259 OID 2034237) -- Name: aiWorkflowRun; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8118,7 +8208,7 @@ CREATE TABLE reviews."aiWorkflowRun" ( ALTER TABLE reviews."aiWorkflowRun" OWNER TO reviews; -- --- TOC entry 608 (class 1259 OID 2034245) +-- TOC entry 593 (class 1259 OID 2034245) -- Name: aiWorkflowRunItem; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8138,7 +8228,7 @@ CREATE TABLE reviews."aiWorkflowRunItem" ( ALTER TABLE reviews."aiWorkflowRunItem" OWNER TO reviews; -- --- TOC entry 609 (class 1259 OID 2034255) +-- TOC entry 594 (class 1259 OID 2034255) -- Name: aiWorkflowRunItemComment; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8160,7 +8250,7 @@ CREATE TABLE reviews."aiWorkflowRunItemComment" ( ALTER TABLE reviews."aiWorkflowRunItemComment" OWNER TO reviews; -- --- TOC entry 592 (class 1259 OID 2033798) +-- TOC entry 577 (class 1259 OID 2033798) -- Name: appeal; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8180,7 +8270,7 @@ CREATE TABLE reviews.appeal ( ALTER TABLE reviews.appeal OWNER TO reviews; -- --- TOC entry 593 (class 1259 OID 2033807) +-- TOC entry 578 (class 1259 OID 2033807) -- Name: appealResponse; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8201,7 +8291,7 @@ CREATE TABLE reviews."appealResponse" ( ALTER TABLE reviews."appealResponse" OWNER TO reviews; -- --- TOC entry 594 (class 1259 OID 2033816) +-- TOC entry 579 (class 1259 OID 2033816) -- Name: challengeResult; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8230,7 +8320,7 @@ CREATE TABLE reviews."challengeResult" ( ALTER TABLE reviews."challengeResult" OWNER TO reviews; -- --- TOC entry 595 (class 1259 OID 2033824) +-- TOC entry 580 (class 1259 OID 2033824) -- Name: contactRequest; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8249,7 +8339,7 @@ CREATE TABLE reviews."contactRequest" ( ALTER TABLE reviews."contactRequest" OWNER TO reviews; -- --- TOC entry 603 (class 1259 OID 2034192) +-- TOC entry 588 (class 1259 OID 2034192) -- Name: gitWebhookLog; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8265,7 +8355,7 @@ CREATE TABLE reviews."gitWebhookLog" ( ALTER TABLE reviews."gitWebhookLog" OWNER TO reviews; -- --- TOC entry 605 (class 1259 OID 2034219) +-- TOC entry 590 (class 1259 OID 2034219) -- Name: llmModel; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8284,7 +8374,7 @@ CREATE TABLE reviews."llmModel" ( ALTER TABLE reviews."llmModel" OWNER TO reviews; -- --- TOC entry 604 (class 1259 OID 2034211) +-- TOC entry 589 (class 1259 OID 2034211) -- Name: llmProvider; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8299,7 +8389,7 @@ CREATE TABLE reviews."llmProvider" ( ALTER TABLE reviews."llmProvider" OWNER TO reviews; -- --- TOC entry 602 (class 1259 OID 2034153) +-- TOC entry 587 (class 1259 OID 2034153) -- Name: resourceSubmission; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8318,7 +8408,7 @@ CREATE TABLE reviews."resourceSubmission" ( ALTER TABLE reviews."resourceSubmission" OWNER TO reviews; -- --- TOC entry 589 (class 1259 OID 2033769) +-- TOC entry 574 (class 1259 OID 2033769) -- Name: review; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8347,7 +8437,7 @@ CREATE TABLE reviews.review ( ALTER TABLE reviews.review OWNER TO reviews; -- --- TOC entry 597 (class 1259 OID 2033995) +-- TOC entry 582 (class 1259 OID 2033995) -- Name: reviewApplication; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8368,7 +8458,7 @@ CREATE TABLE reviews."reviewApplication" ( ALTER TABLE reviews."reviewApplication" OWNER TO reviews; -- --- TOC entry 610 (class 1259 OID 2034332) +-- TOC entry 595 (class 1259 OID 2034332) -- Name: reviewAudit; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8386,7 +8476,7 @@ CREATE TABLE reviews."reviewAudit" ( ALTER TABLE reviews."reviewAudit" OWNER TO reviews; -- --- TOC entry 590 (class 1259 OID 2033779) +-- TOC entry 575 (class 1259 OID 2033779) -- Name: reviewItem; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8409,7 +8499,7 @@ CREATE TABLE reviews."reviewItem" ( ALTER TABLE reviews."reviewItem" OWNER TO reviews; -- --- TOC entry 591 (class 1259 OID 2033788) +-- TOC entry 576 (class 1259 OID 2033788) -- Name: reviewItemComment; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8431,7 +8521,7 @@ CREATE TABLE reviews."reviewItemComment" ( ALTER TABLE reviews."reviewItemComment" OWNER TO reviews; -- --- TOC entry 596 (class 1259 OID 2033985) +-- TOC entry 581 (class 1259 OID 2033985) -- Name: reviewOpportunity; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8455,7 +8545,7 @@ CREATE TABLE reviews."reviewOpportunity" ( ALTER TABLE reviews."reviewOpportunity" OWNER TO reviews; -- --- TOC entry 599 (class 1259 OID 2034035) +-- TOC entry 584 (class 1259 OID 2034035) -- Name: reviewSummation; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8482,7 +8572,7 @@ CREATE TABLE reviews."reviewSummation" ( ALTER TABLE reviews."reviewSummation" OWNER TO reviews; -- --- TOC entry 598 (class 1259 OID 2034027) +-- TOC entry 583 (class 1259 OID 2034027) -- Name: reviewType; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8496,7 +8586,21 @@ CREATE TABLE reviews."reviewType" ( ALTER TABLE reviews."reviewType" OWNER TO reviews; -- --- TOC entry 585 (class 1259 OID 2033684) +-- TOC entry 600 (class 1259 OID 2066966) +-- Name: review_pending_summary; Type: TABLE; Schema: reviews; Owner: reviews +-- + +CREATE TABLE reviews.review_pending_summary ( + "resourceId" text NOT NULL, + "pendingAppealCount" integer NOT NULL, + "updatedAt" timestamp(3) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL +); + + +ALTER TABLE reviews.review_pending_summary OWNER TO reviews; + +-- +-- TOC entry 570 (class 1259 OID 2033684) -- Name: scorecard; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8522,7 +8626,7 @@ CREATE TABLE reviews.scorecard ( ALTER TABLE reviews.scorecard OWNER TO reviews; -- --- TOC entry 586 (class 1259 OID 2033742) +-- TOC entry 571 (class 1259 OID 2033742) -- Name: scorecardGroup; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8543,7 +8647,7 @@ CREATE TABLE reviews."scorecardGroup" ( ALTER TABLE reviews."scorecardGroup" OWNER TO reviews; -- --- TOC entry 588 (class 1259 OID 2033760) +-- TOC entry 573 (class 1259 OID 2033760) -- Name: scorecardQuestion; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8569,7 +8673,7 @@ CREATE TABLE reviews."scorecardQuestion" ( ALTER TABLE reviews."scorecardQuestion" OWNER TO reviews; -- --- TOC entry 587 (class 1259 OID 2033751) +-- TOC entry 572 (class 1259 OID 2033751) -- Name: scorecardSection; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8590,7 +8694,7 @@ CREATE TABLE reviews."scorecardSection" ( ALTER TABLE reviews."scorecardSection" OWNER TO reviews; -- --- TOC entry 600 (class 1259 OID 2034044) +-- TOC entry 585 (class 1259 OID 2034044) -- Name: submission; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8624,14 +8728,15 @@ CREATE TABLE reviews.submission ( "userRank" integer, "viewCount" integer, type reviews."SubmissionType" NOT NULL, - "virusScan" boolean DEFAULT false NOT NULL + "virusScan" boolean DEFAULT false NOT NULL, + "isFileSubmission" boolean DEFAULT false NOT NULL ); ALTER TABLE reviews.submission OWNER TO reviews; -- --- TOC entry 611 (class 1259 OID 2034355) +-- TOC entry 596 (class 1259 OID 2034355) -- Name: submissionAccessAudit; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8646,7 +8751,7 @@ CREATE TABLE reviews."submissionAccessAudit" ( ALTER TABLE reviews."submissionAccessAudit" OWNER TO reviews; -- --- TOC entry 601 (class 1259 OID 2034144) +-- TOC entry 586 (class 1259 OID 2034144) -- Name: upload; Type: TABLE; Schema: reviews; Owner: reviews -- @@ -8671,7 +8776,7 @@ CREATE TABLE reviews.upload ( ALTER TABLE reviews.upload OWNER TO reviews; -- --- TOC entry 413 (class 1259 OID 1477130) +-- TOC entry 410 (class 1259 OID 1477130) -- Name: SequelizeMeta; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8683,7 +8788,7 @@ CREATE TABLE skills."SequelizeMeta" ( ALTER TABLE skills."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 414 (class 1259 OID 1477133) +-- TOC entry 411 (class 1259 OID 1477133) -- Name: event; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8699,7 +8804,7 @@ CREATE TABLE skills.event ( ALTER TABLE skills.event OWNER TO topcoder; -- --- TOC entry 415 (class 1259 OID 1477139) +-- TOC entry 412 (class 1259 OID 1477139) -- Name: legacy_skill_map; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8712,7 +8817,7 @@ CREATE TABLE skills.legacy_skill_map ( ALTER TABLE skills.legacy_skill_map OWNER TO topcoder; -- --- TOC entry 416 (class 1259 OID 1477142) +-- TOC entry 413 (class 1259 OID 1477142) -- Name: prod_challenge_emsi_skills; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8725,7 +8830,7 @@ CREATE TABLE skills.prod_challenge_emsi_skills ( ALTER TABLE skills.prod_challenge_emsi_skills OWNER TO topcoder; -- --- TOC entry 417 (class 1259 OID 1477145) +-- TOC entry 414 (class 1259 OID 1477145) -- Name: prod_job_emsi_skills; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8738,7 +8843,7 @@ CREATE TABLE skills.prod_job_emsi_skills ( ALTER TABLE skills.prod_job_emsi_skills OWNER TO topcoder; -- --- TOC entry 418 (class 1259 OID 1477148) +-- TOC entry 415 (class 1259 OID 1477148) -- Name: prod_user_emsi_skills; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8754,7 +8859,7 @@ CREATE TABLE skills.prod_user_emsi_skills ( ALTER TABLE skills.prod_user_emsi_skills OWNER TO topcoder; -- --- TOC entry 419 (class 1259 OID 1477153) +-- TOC entry 416 (class 1259 OID 1477153) -- Name: prod_v5_skills; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8768,7 +8873,7 @@ CREATE TABLE skills.prod_v5_skills ( ALTER TABLE skills.prod_v5_skills OWNER TO topcoder; -- --- TOC entry 420 (class 1259 OID 1477156) +-- TOC entry 417 (class 1259 OID 1477156) -- Name: skill; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8787,7 +8892,7 @@ CREATE TABLE skills.skill ( ALTER TABLE skills.skill OWNER TO topcoder; -- --- TOC entry 421 (class 1259 OID 1477164) +-- TOC entry 418 (class 1259 OID 1477164) -- Name: skill_category; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8803,7 +8908,7 @@ CREATE TABLE skills.skill_category ( ALTER TABLE skills.skill_category OWNER TO topcoder; -- --- TOC entry 422 (class 1259 OID 1477172) +-- TOC entry 419 (class 1259 OID 1477172) -- Name: skill_event; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8822,7 +8927,7 @@ CREATE TABLE skills.skill_event ( ALTER TABLE skills.skill_event OWNER TO topcoder; -- --- TOC entry 423 (class 1259 OID 1477176) +-- TOC entry 420 (class 1259 OID 1477176) -- Name: skill_event_type; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8838,7 +8943,7 @@ CREATE TABLE skills.skill_event_type ( ALTER TABLE skills.skill_event_type OWNER TO topcoder; -- --- TOC entry 424 (class 1259 OID 1477182) +-- TOC entry 421 (class 1259 OID 1477182) -- Name: skill_replacement; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8854,7 +8959,7 @@ CREATE TABLE skills.skill_replacement ( ALTER TABLE skills.skill_replacement OWNER TO topcoder; -- --- TOC entry 425 (class 1259 OID 1477187) +-- TOC entry 422 (class 1259 OID 1477187) -- Name: skill_to_emsi_skill_map; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8868,7 +8973,7 @@ CREATE TABLE skills.skill_to_emsi_skill_map ( ALTER TABLE skills.skill_to_emsi_skill_map OWNER TO topcoder; -- --- TOC entry 426 (class 1259 OID 1477192) +-- TOC entry 423 (class 1259 OID 1477192) -- Name: source_type; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8884,7 +8989,7 @@ CREATE TABLE skills.source_type ( ALTER TABLE skills.source_type OWNER TO topcoder; -- --- TOC entry 427 (class 1259 OID 1477198) +-- TOC entry 424 (class 1259 OID 1477198) -- Name: user_skill; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8902,7 +9007,7 @@ CREATE TABLE skills.user_skill ( ALTER TABLE skills.user_skill OWNER TO topcoder; -- --- TOC entry 428 (class 1259 OID 1477205) +-- TOC entry 425 (class 1259 OID 1477205) -- Name: user_skill_display_mode; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8918,7 +9023,7 @@ CREATE TABLE skills.user_skill_display_mode ( ALTER TABLE skills.user_skill_display_mode OWNER TO topcoder; -- --- TOC entry 429 (class 1259 OID 1477210) +-- TOC entry 426 (class 1259 OID 1477210) -- Name: user_skill_level; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -8934,7 +9039,7 @@ CREATE TABLE skills.user_skill_level ( ALTER TABLE skills.user_skill_level OWNER TO topcoder; -- --- TOC entry 430 (class 1259 OID 1477216) +-- TOC entry 427 (class 1259 OID 1477216) -- Name: vw_all_skills_with_category; Type: VIEW; Schema: skills; Owner: topcoder -- @@ -8953,7 +9058,7 @@ CREATE VIEW skills.vw_all_skills_with_category AS ALTER VIEW skills.vw_all_skills_with_category OWNER TO topcoder; -- --- TOC entry 431 (class 1259 OID 1477221) +-- TOC entry 428 (class 1259 OID 1477221) -- Name: vw_skill_to_emsi_map; Type: VIEW; Schema: skills; Owner: topcoder -- @@ -8972,7 +9077,7 @@ CREATE VIEW skills.vw_skill_to_emsi_map AS ALTER VIEW skills.vw_skill_to_emsi_map OWNER TO topcoder; -- --- TOC entry 432 (class 1259 OID 1477226) +-- TOC entry 429 (class 1259 OID 1477226) -- Name: vw_user_AI_skill_counts; Type: VIEW; Schema: skills; Owner: topcoder -- @@ -8991,7 +9096,7 @@ CREATE VIEW skills."vw_user_AI_skill_counts" AS ALTER VIEW skills."vw_user_AI_skill_counts" OWNER TO topcoder; -- --- TOC entry 433 (class 1259 OID 1477231) +-- TOC entry 430 (class 1259 OID 1477231) -- Name: vw_v5_skill_to_std_skill_map; Type: VIEW; Schema: skills; Owner: topcoder -- @@ -9005,7 +9110,7 @@ CREATE VIEW skills.vw_v5_skill_to_std_skill_map AS ALTER VIEW skills.vw_v5_skill_to_std_skill_map OWNER TO topcoder; -- --- TOC entry 434 (class 1259 OID 1477235) +-- TOC entry 431 (class 1259 OID 1477235) -- Name: work_skill; Type: TABLE; Schema: skills; Owner: topcoder -- @@ -9022,7 +9127,7 @@ CREATE TABLE skills.work_skill ( ALTER TABLE skills.work_skill OWNER TO topcoder; -- --- TOC entry 412 (class 1259 OID 1475979) +-- TOC entry 409 (class 1259 OID 1475979) -- Name: SequelizeMeta; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9034,7 +9139,7 @@ CREATE TABLE taas."SequelizeMeta" ( ALTER TABLE taas."SequelizeMeta" OWNER TO topcoder; -- --- TOC entry 401 (class 1259 OID 1475457) +-- TOC entry 398 (class 1259 OID 1475457) -- Name: interviews; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9069,7 +9174,7 @@ CREATE TABLE taas.interviews ( ALTER TABLE taas.interviews OWNER TO topcoder; -- --- TOC entry 402 (class 1259 OID 1475464) +-- TOC entry 399 (class 1259 OID 1475464) -- Name: job_candidates; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9093,7 +9198,7 @@ CREATE TABLE taas.job_candidates ( ALTER TABLE taas.job_candidates OWNER TO topcoder; -- --- TOC entry 403 (class 1259 OID 1475470) +-- TOC entry 400 (class 1259 OID 1475470) -- Name: jobs; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9136,7 +9241,7 @@ CREATE TABLE taas.jobs ( ALTER TABLE taas.jobs OWNER TO topcoder; -- --- TOC entry 404 (class 1259 OID 1475482) +-- TOC entry 401 (class 1259 OID 1475482) -- Name: legacy_skill_map; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9149,7 +9254,7 @@ CREATE TABLE taas.legacy_skill_map ( ALTER TABLE taas.legacy_skill_map OWNER TO topcoder; -- --- TOC entry 405 (class 1259 OID 1475485) +-- TOC entry 402 (class 1259 OID 1475485) -- Name: payment_schedulers; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9170,7 +9275,7 @@ CREATE TABLE taas.payment_schedulers ( ALTER TABLE taas.payment_schedulers OWNER TO topcoder; -- --- TOC entry 406 (class 1259 OID 1475488) +-- TOC entry 403 (class 1259 OID 1475488) -- Name: resource_bookings; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9198,7 +9303,7 @@ CREATE TABLE taas.resource_bookings ( ALTER TABLE taas.resource_bookings OWNER TO topcoder; -- --- TOC entry 407 (class 1259 OID 1475494) +-- TOC entry 404 (class 1259 OID 1475494) -- Name: role_search_requests; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9221,7 +9326,7 @@ CREATE TABLE taas.role_search_requests ( ALTER TABLE taas.role_search_requests OWNER TO topcoder; -- --- TOC entry 408 (class 1259 OID 1475499) +-- TOC entry 405 (class 1259 OID 1475499) -- Name: roles; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9247,7 +9352,7 @@ CREATE TABLE taas.roles ( ALTER TABLE taas.roles OWNER TO topcoder; -- --- TOC entry 409 (class 1259 OID 1475504) +-- TOC entry 406 (class 1259 OID 1475504) -- Name: user_meeting_settings; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9267,7 +9372,7 @@ CREATE TABLE taas.user_meeting_settings ( ALTER TABLE taas.user_meeting_settings OWNER TO topcoder; -- --- TOC entry 410 (class 1259 OID 1475509) +-- TOC entry 407 (class 1259 OID 1475509) -- Name: work_period_payments; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9293,7 +9398,7 @@ CREATE TABLE taas.work_period_payments ( ALTER TABLE taas.work_period_payments OWNER TO topcoder; -- --- TOC entry 411 (class 1259 OID 1475514) +-- TOC entry 408 (class 1259 OID 1475514) -- Name: work_periods; Type: TABLE; Schema: taas; Owner: topcoder -- @@ -9321,7 +9426,7 @@ CREATE TABLE taas.work_periods ( ALTER TABLE taas.work_periods OWNER TO topcoder; -- --- TOC entry 376 (class 1259 OID 1363445) +-- TOC entry 373 (class 1259 OID 1363445) -- Name: DocusignEnvelope; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9336,7 +9441,7 @@ CREATE TABLE terms."DocusignEnvelope" ( ALTER TABLE terms."DocusignEnvelope" OWNER TO topcoder; -- --- TOC entry 377 (class 1259 OID 1363450) +-- TOC entry 374 (class 1259 OID 1363450) -- Name: TermsForResource; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9356,7 +9461,7 @@ CREATE TABLE terms."TermsForResource" ( ALTER TABLE terms."TermsForResource" OWNER TO topcoder; -- --- TOC entry 378 (class 1259 OID 1363455) +-- TOC entry 375 (class 1259 OID 1363455) -- Name: TermsOfUse; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9379,7 +9484,7 @@ CREATE TABLE terms."TermsOfUse" ( ALTER TABLE terms."TermsOfUse" OWNER TO topcoder; -- --- TOC entry 379 (class 1259 OID 1363461) +-- TOC entry 376 (class 1259 OID 1363461) -- Name: TermsOfUseAgreeabilityType; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9394,7 +9499,7 @@ CREATE TABLE terms."TermsOfUseAgreeabilityType" ( ALTER TABLE terms."TermsOfUseAgreeabilityType" OWNER TO topcoder; -- --- TOC entry 380 (class 1259 OID 1363466) +-- TOC entry 377 (class 1259 OID 1363466) -- Name: TermsOfUseDependency; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9407,7 +9512,7 @@ CREATE TABLE terms."TermsOfUseDependency" ( ALTER TABLE terms."TermsOfUseDependency" OWNER TO topcoder; -- --- TOC entry 381 (class 1259 OID 1363469) +-- TOC entry 378 (class 1259 OID 1363469) -- Name: TermsOfUseDocusignTemplateXref; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9420,7 +9525,7 @@ CREATE TABLE terms."TermsOfUseDocusignTemplateXref" ( ALTER TABLE terms."TermsOfUseDocusignTemplateXref" OWNER TO topcoder; -- --- TOC entry 382 (class 1259 OID 1363472) +-- TOC entry 379 (class 1259 OID 1363472) -- Name: TermsOfUseType; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9433,7 +9538,7 @@ CREATE TABLE terms."TermsOfUseType" ( ALTER TABLE terms."TermsOfUseType" OWNER TO topcoder; -- --- TOC entry 383 (class 1259 OID 1363475) +-- TOC entry 380 (class 1259 OID 1363475) -- Name: UserTermsOfUseBanXref; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9447,7 +9552,7 @@ CREATE TABLE terms."UserTermsOfUseBanXref" ( ALTER TABLE terms."UserTermsOfUseBanXref" OWNER TO topcoder; -- --- TOC entry 384 (class 1259 OID 1363478) +-- TOC entry 381 (class 1259 OID 1363478) -- Name: UserTermsOfUseXref; Type: TABLE; Schema: terms; Owner: topcoder -- @@ -9461,7 +9566,7 @@ CREATE TABLE terms."UserTermsOfUseXref" ( ALTER TABLE terms."UserTermsOfUseXref" OWNER TO topcoder; -- --- TOC entry 345 (class 1259 OID 1352761) +-- TOC entry 342 (class 1259 OID 1352761) -- Name: events; Type: TABLE; Schema: timeline; Owner: topcoder -- @@ -9484,7 +9589,7 @@ CREATE TABLE timeline.events ( ALTER TABLE timeline.events OWNER TO topcoder; -- --- TOC entry 346 (class 1259 OID 1352766) +-- TOC entry 343 (class 1259 OID 1352766) -- Name: events_id_seq; Type: SEQUENCE; Schema: timeline; Owner: topcoder -- @@ -9500,8 +9605,8 @@ CREATE SEQUENCE timeline.events_id_seq ALTER SEQUENCE timeline.events_id_seq OWNER TO topcoder; -- --- TOC entry 7905 (class 0 OID 0) --- Dependencies: 346 +-- TOC entry 8159 (class 0 OID 0) +-- Dependencies: 343 -- Name: events_id_seq; Type: SEQUENCE OWNED BY; Schema: timeline; Owner: topcoder -- @@ -9509,7 +9614,7 @@ ALTER SEQUENCE timeline.events_id_seq OWNED BY timeline.events.id; -- --- TOC entry 5736 (class 2604 OID 1363202) +-- TOC entry 5762 (class 2604 OID 1363202) -- Name: CertificationCategory id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9517,7 +9622,7 @@ ALTER TABLE ONLY academy."CertificationCategory" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5737 (class 2604 OID 1363203) +-- TOC entry 5763 (class 2604 OID 1363203) -- Name: CertificationEnrollments id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9525,7 +9630,7 @@ ALTER TABLE ONLY academy."CertificationEnrollments" ALTER COLUMN id SET DEFAULT -- --- TOC entry 5739 (class 2604 OID 1363204) +-- TOC entry 5765 (class 2604 OID 1363204) -- Name: CertificationResource id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9533,7 +9638,7 @@ ALTER TABLE ONLY academy."CertificationResource" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5740 (class 2604 OID 1363205) +-- TOC entry 5766 (class 2604 OID 1363205) -- Name: CertificationResourceProgresses id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9541,7 +9646,7 @@ ALTER TABLE ONLY academy."CertificationResourceProgresses" ALTER COLUMN id SET D -- --- TOC entry 5742 (class 2604 OID 1363206) +-- TOC entry 5768 (class 2604 OID 1363206) -- Name: FccCertificationProgresses id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9549,7 +9654,7 @@ ALTER TABLE ONLY academy."FccCertificationProgresses" ALTER COLUMN id SET DEFAUL -- --- TOC entry 5743 (class 2604 OID 1363207) +-- TOC entry 5769 (class 2604 OID 1363207) -- Name: FccCourses id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9557,7 +9662,7 @@ ALTER TABLE ONLY academy."FccCourses" ALTER COLUMN id SET DEFAULT nextval('acade -- --- TOC entry 5746 (class 2604 OID 1363208) +-- TOC entry 5772 (class 2604 OID 1363208) -- Name: FccModuleProgresses id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9565,7 +9670,7 @@ ALTER TABLE ONLY academy."FccModuleProgresses" ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5748 (class 2604 OID 1363209) +-- TOC entry 5774 (class 2604 OID 1363209) -- Name: FccModules id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9573,7 +9678,7 @@ ALTER TABLE ONLY academy."FccModules" ALTER COLUMN id SET DEFAULT nextval('acade -- --- TOC entry 5750 (class 2604 OID 1363210) +-- TOC entry 5776 (class 2604 OID 1363210) -- Name: FreeCodeCampCertification id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9581,7 +9686,7 @@ ALTER TABLE ONLY academy."FreeCodeCampCertification" ALTER COLUMN id SET DEFAULT -- --- TOC entry 5754 (class 2604 OID 1363211) +-- TOC entry 5780 (class 2604 OID 1363211) -- Name: ResourceProvider id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9589,7 +9694,7 @@ ALTER TABLE ONLY academy."ResourceProvider" ALTER COLUMN id SET DEFAULT nextval( -- --- TOC entry 5755 (class 2604 OID 1363212) +-- TOC entry 5781 (class 2604 OID 1363212) -- Name: TopcoderCertification id; Type: DEFAULT; Schema: academy; Owner: topcoder -- @@ -9597,7 +9702,7 @@ ALTER TABLE ONLY academy."TopcoderCertification" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5808 (class 2604 OID 1825504) +-- TOC entry 6072 (class 2604 OID 2069992) -- Name: BillingAccount id; Type: DEFAULT; Schema: billing-accounts; Owner: billingaccounts -- @@ -9605,7 +9710,7 @@ ALTER TABLE ONLY "billing-accounts"."BillingAccount" ALTER COLUMN id SET DEFAULT -- --- TOC entry 5760 (class 2604 OID 1363881) +-- TOC entry 5786 (class 2604 OID 1363881) -- Name: Emails id; Type: DEFAULT; Schema: emails; Owner: topcoder -- @@ -9613,39 +9718,31 @@ ALTER TABLE ONLY emails."Emails" ALTER COLUMN id SET DEFAULT nextval('emails."Em -- --- TOC entry 5693 (class 2604 OID 1334536) --- Name: origin origin_id; Type: DEFAULT; Schema: finance; Owner: finance --- - -ALTER TABLE ONLY finance.origin ALTER COLUMN origin_id SET DEFAULT nextval('finance.origin_origin_id_seq'::regclass); - - --- --- TOC entry 5705 (class 2604 OID 1334566) --- Name: payment_method payment_method_id; Type: DEFAULT; Schema: finance; Owner: finance +-- TOC entry 6059 (class 2604 OID 2055333) +-- Name: challenge_lock id; Type: DEFAULT; Schema: finance; Owner: finance -- -ALTER TABLE ONLY finance.payment_method ALTER COLUMN payment_method_id SET DEFAULT nextval('finance.payment_method_payment_method_id_seq'::regclass); +ALTER TABLE ONLY finance.challenge_lock ALTER COLUMN id SET DEFAULT nextval('finance.challenge_lock_id_seq'::regclass); -- --- TOC entry 5710 (class 2604 OID 1334591) --- Name: payoneer_payment_method id; Type: DEFAULT; Schema: finance; Owner: finance +-- TOC entry 5724 (class 2604 OID 1334536) +-- Name: origin origin_id; Type: DEFAULT; Schema: finance; Owner: finance -- -ALTER TABLE ONLY finance.payoneer_payment_method ALTER COLUMN id SET DEFAULT nextval('finance.payoneer_payment_method_id_seq'::regclass); +ALTER TABLE ONLY finance.origin ALTER COLUMN origin_id SET DEFAULT nextval('finance.origin_origin_id_seq'::regclass); -- --- TOC entry 5711 (class 2604 OID 1334598) --- Name: paypal_payment_method id; Type: DEFAULT; Schema: finance; Owner: finance +-- TOC entry 5736 (class 2604 OID 1334566) +-- Name: payment_method payment_method_id; Type: DEFAULT; Schema: finance; Owner: finance -- -ALTER TABLE ONLY finance.paypal_payment_method ALTER COLUMN id SET DEFAULT nextval('finance.paypal_payment_method_id_seq'::regclass); +ALTER TABLE ONLY finance.payment_method ALTER COLUMN payment_method_id SET DEFAULT nextval('finance.payment_method_payment_method_id_seq'::regclass); -- --- TOC entry 5723 (class 2604 OID 1334755) +-- TOC entry 5749 (class 2604 OID 1334755) -- Name: trolley_recipient id; Type: DEFAULT; Schema: finance; Owner: finance -- @@ -9653,7 +9750,7 @@ ALTER TABLE ONLY finance.trolley_recipient ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5846 (class 2604 OID 1832037) +-- TOC entry 5860 (class 2604 OID 1832037) -- Name: client id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9661,7 +9758,7 @@ ALTER TABLE ONLY identity.client ALTER COLUMN id SET DEFAULT nextval('identity.c -- --- TOC entry 5815 (class 2604 OID 1831892) +-- TOC entry 5829 (class 2604 OID 1831892) -- Name: dice_connection id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9669,7 +9766,7 @@ ALTER TABLE ONLY identity.dice_connection ALTER COLUMN id SET DEFAULT nextval('i -- --- TOC entry 5847 (class 2604 OID 1832046) +-- TOC entry 5861 (class 2604 OID 1832046) -- Name: role id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9677,7 +9774,7 @@ ALTER TABLE ONLY identity.role ALTER COLUMN id SET DEFAULT nextval('identity.rol -- --- TOC entry 5848 (class 2604 OID 1832053) +-- TOC entry 5862 (class 2604 OID 1832053) -- Name: role_assignment id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9685,7 +9782,7 @@ ALTER TABLE ONLY identity.role_assignment ALTER COLUMN id SET DEFAULT nextval('i -- --- TOC entry 5832 (class 2604 OID 1831972) +-- TOC entry 5846 (class 2604 OID 1831972) -- Name: user_2fa id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9693,7 +9790,7 @@ ALTER TABLE ONLY identity.user_2fa ALTER COLUMN id SET DEFAULT nextval('identity -- --- TOC entry 5840 (class 2604 OID 1831995) +-- TOC entry 5854 (class 2604 OID 1831995) -- Name: user_otp_email id; Type: DEFAULT; Schema: identity; Owner: identity -- @@ -9701,7 +9798,7 @@ ALTER TABLE ONLY identity.user_otp_email ALTER COLUMN id SET DEFAULT nextval('id -- --- TOC entry 5919 (class 2604 OID 2023629) +-- TOC entry 5928 (class 2604 OID 2023629) -- Name: distributionStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9709,7 +9806,7 @@ ALTER TABLE ONLY members."distributionStats" ALTER COLUMN id SET DEFAULT nextval -- --- TOC entry 5915 (class 2604 OID 2023609) +-- TOC entry 5924 (class 2604 OID 2023609) -- Name: memberAddress id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9717,7 +9814,7 @@ ALTER TABLE ONLY members."memberAddress" ALTER COLUMN id SET DEFAULT nextval('me -- --- TOC entry 5932 (class 2604 OID 2023689) +-- TOC entry 5941 (class 2604 OID 2023689) -- Name: memberCopilotStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9725,7 +9822,7 @@ ALTER TABLE ONLY members."memberCopilotStats" ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5927 (class 2604 OID 2023668) +-- TOC entry 5936 (class 2604 OID 2023668) -- Name: memberDataScienceHistoryStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9733,7 +9830,7 @@ ALTER TABLE ONLY members."memberDataScienceHistoryStats" ALTER COLUMN id SET DEF -- --- TOC entry 5942 (class 2604 OID 2023739) +-- TOC entry 5951 (class 2604 OID 2023739) -- Name: memberDataScienceStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9741,7 +9838,7 @@ ALTER TABLE ONLY members."memberDataScienceStats" ALTER COLUMN id SET DEFAULT ne -- --- TOC entry 5938 (class 2604 OID 2023719) +-- TOC entry 5947 (class 2604 OID 2023719) -- Name: memberDesignStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9749,7 +9846,7 @@ ALTER TABLE ONLY members."memberDesignStats" ALTER COLUMN id SET DEFAULT nextval -- --- TOC entry 5940 (class 2604 OID 2023729) +-- TOC entry 5949 (class 2604 OID 2023729) -- Name: memberDesignStatsItem id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9757,7 +9854,7 @@ ALTER TABLE ONLY members."memberDesignStatsItem" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5925 (class 2604 OID 2023658) +-- TOC entry 5934 (class 2604 OID 2023658) -- Name: memberDevelopHistoryStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9765,7 +9862,7 @@ ALTER TABLE ONLY members."memberDevelopHistoryStats" ALTER COLUMN id SET DEFAULT -- --- TOC entry 5934 (class 2604 OID 2023699) +-- TOC entry 5943 (class 2604 OID 2023699) -- Name: memberDevelopStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9773,7 +9870,7 @@ ALTER TABLE ONLY members."memberDevelopStats" ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5936 (class 2604 OID 2023709) +-- TOC entry 5945 (class 2604 OID 2023709) -- Name: memberDevelopStatsItem id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9781,7 +9878,7 @@ ALTER TABLE ONLY members."memberDevelopStatsItem" ALTER COLUMN id SET DEFAULT ne -- --- TOC entry 5922 (class 2604 OID 2023647) +-- TOC entry 5931 (class 2604 OID 2023647) -- Name: memberHistoryStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9789,7 +9886,7 @@ ALTER TABLE ONLY members."memberHistoryStats" ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5950 (class 2604 OID 2023779) +-- TOC entry 5959 (class 2604 OID 2023779) -- Name: memberMarathonStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9797,7 +9894,7 @@ ALTER TABLE ONLY members."memberMarathonStats" ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5917 (class 2604 OID 2023619) +-- TOC entry 5926 (class 2604 OID 2023619) -- Name: memberMaxRating id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9805,7 +9902,7 @@ ALTER TABLE ONLY members."memberMaxRating" ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5946 (class 2604 OID 2023759) +-- TOC entry 5955 (class 2604 OID 2023759) -- Name: memberSrmChallengeDetail id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9813,7 +9910,7 @@ ALTER TABLE ONLY members."memberSrmChallengeDetail" ALTER COLUMN id SET DEFAULT -- --- TOC entry 5948 (class 2604 OID 2023769) +-- TOC entry 5957 (class 2604 OID 2023769) -- Name: memberSrmDivisionDetail id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9821,7 +9918,7 @@ ALTER TABLE ONLY members."memberSrmDivisionDetail" ALTER COLUMN id SET DEFAULT n -- --- TOC entry 5944 (class 2604 OID 2023749) +-- TOC entry 5953 (class 2604 OID 2023749) -- Name: memberSrmStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9829,7 +9926,7 @@ ALTER TABLE ONLY members."memberSrmStats" ALTER COLUMN id SET DEFAULT nextval('m -- --- TOC entry 5929 (class 2604 OID 2023678) +-- TOC entry 5938 (class 2604 OID 2023678) -- Name: memberStats id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9837,7 +9934,7 @@ ALTER TABLE ONLY members."memberStats" ALTER COLUMN id SET DEFAULT nextval('memb -- --- TOC entry 5964 (class 2604 OID 2023849) +-- TOC entry 5973 (class 2604 OID 2023849) -- Name: memberTraitBasicInfo id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9845,7 +9942,7 @@ ALTER TABLE ONLY members."memberTraitBasicInfo" ALTER COLUMN id SET DEFAULT next -- --- TOC entry 5972 (class 2604 OID 2023889) +-- TOC entry 5981 (class 2604 OID 2023889) -- Name: memberTraitCommunity id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9853,7 +9950,7 @@ ALTER TABLE ONLY members."memberTraitCommunity" ALTER COLUMN id SET DEFAULT next -- --- TOC entry 5954 (class 2604 OID 2023799) +-- TOC entry 5963 (class 2604 OID 2023799) -- Name: memberTraitDevice id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9861,7 +9958,7 @@ ALTER TABLE ONLY members."memberTraitDevice" ALTER COLUMN id SET DEFAULT nextval -- --- TOC entry 5962 (class 2604 OID 2023839) +-- TOC entry 5971 (class 2604 OID 2023839) -- Name: memberTraitEducation id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9869,7 +9966,7 @@ ALTER TABLE ONLY members."memberTraitEducation" ALTER COLUMN id SET DEFAULT next -- --- TOC entry 5966 (class 2604 OID 2023859) +-- TOC entry 5975 (class 2604 OID 2023859) -- Name: memberTraitLanguage id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9877,7 +9974,7 @@ ALTER TABLE ONLY members."memberTraitLanguage" ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5968 (class 2604 OID 2023869) +-- TOC entry 5977 (class 2604 OID 2023869) -- Name: memberTraitOnboardChecklist id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9885,7 +9982,7 @@ ALTER TABLE ONLY members."memberTraitOnboardChecklist" ALTER COLUMN id SET DEFAU -- --- TOC entry 5970 (class 2604 OID 2023879) +-- TOC entry 5979 (class 2604 OID 2023879) -- Name: memberTraitPersonalization id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9893,7 +9990,7 @@ ALTER TABLE ONLY members."memberTraitPersonalization" ALTER COLUMN id SET DEFAUL -- --- TOC entry 5958 (class 2604 OID 2023819) +-- TOC entry 5967 (class 2604 OID 2023819) -- Name: memberTraitServiceProvider id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9901,7 +9998,7 @@ ALTER TABLE ONLY members."memberTraitServiceProvider" ALTER COLUMN id SET DEFAUL -- --- TOC entry 5956 (class 2604 OID 2023809) +-- TOC entry 5965 (class 2604 OID 2023809) -- Name: memberTraitSoftware id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9909,7 +10006,7 @@ ALTER TABLE ONLY members."memberTraitSoftware" ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5960 (class 2604 OID 2023829) +-- TOC entry 5969 (class 2604 OID 2023829) -- Name: memberTraitWork id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9917,7 +10014,7 @@ ALTER TABLE ONLY members."memberTraitWork" ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5952 (class 2604 OID 2023789) +-- TOC entry 5961 (class 2604 OID 2023789) -- Name: memberTraits id; Type: DEFAULT; Schema: members; Owner: members -- @@ -9925,7 +10022,7 @@ ALTER TABLE ONLY members."memberTraits" ALTER COLUMN id SET DEFAULT nextval('mem -- --- TOC entry 5727 (class 2604 OID 1348181) +-- TOC entry 5753 (class 2604 OID 1348181) -- Name: email_logs id; Type: DEFAULT; Schema: messages; Owner: topcoder -- @@ -9933,7 +10030,7 @@ ALTER TABLE ONLY messages.email_logs ALTER COLUMN id SET DEFAULT nextval('messag -- --- TOC entry 5728 (class 2604 OID 1348182) +-- TOC entry 5754 (class 2604 OID 1348182) -- Name: post_attachments id; Type: DEFAULT; Schema: messages; Owner: topcoder -- @@ -9941,7 +10038,7 @@ ALTER TABLE ONLY messages.post_attachments ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5729 (class 2604 OID 1348183) +-- TOC entry 5755 (class 2604 OID 1348183) -- Name: posts id; Type: DEFAULT; Schema: messages; Owner: topcoder -- @@ -9949,7 +10046,7 @@ ALTER TABLE ONLY messages.posts ALTER COLUMN id SET DEFAULT nextval('messages.po -- --- TOC entry 5731 (class 2604 OID 1348184) +-- TOC entry 5757 (class 2604 OID 1348184) -- Name: topics id; Type: DEFAULT; Schema: messages; Owner: topcoder -- @@ -9957,7 +10054,7 @@ ALTER TABLE ONLY messages.topics ALTER COLUMN id SET DEFAULT nextval('messages.t -- --- TOC entry 5761 (class 2604 OID 1436627) +-- TOC entry 5787 (class 2604 OID 1436627) -- Name: NotificationSettings id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -9965,7 +10062,7 @@ ALTER TABLE ONLY notifications."NotificationSettings" ALTER COLUMN id SET DEFAUL -- --- TOC entry 5762 (class 2604 OID 1436628) +-- TOC entry 5788 (class 2604 OID 1436628) -- Name: Notifications id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -9973,7 +10070,7 @@ ALTER TABLE ONLY notifications."Notifications" ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5763 (class 2604 OID 1436629) +-- TOC entry 5789 (class 2604 OID 1436629) -- Name: ScheduledEvents id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -9981,7 +10078,7 @@ ALTER TABLE ONLY notifications."ScheduledEvents" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5764 (class 2604 OID 1436630) +-- TOC entry 5790 (class 2604 OID 1436630) -- Name: ServiceSettings id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -9989,7 +10086,7 @@ ALTER TABLE ONLY notifications."ServiceSettings" ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5765 (class 2604 OID 1436631) +-- TOC entry 5791 (class 2604 OID 1436631) -- Name: bulk_message_user_refs id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -9997,7 +10094,7 @@ ALTER TABLE ONLY notifications.bulk_message_user_refs ALTER COLUMN id SET DEFAUL -- --- TOC entry 5766 (class 2604 OID 1436632) +-- TOC entry 5792 (class 2604 OID 1436632) -- Name: bulk_messages id; Type: DEFAULT; Schema: notifications; Owner: topcoder -- @@ -10005,7 +10102,7 @@ ALTER TABLE ONLY notifications.bulk_messages ALTER COLUMN id SET DEFAULT nextval -- --- TOC entry 5618 (class 2604 OID 1324068) +-- TOC entry 5649 (class 2604 OID 1324068) -- Name: building_blocks id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10013,7 +10110,7 @@ ALTER TABLE ONLY projects.building_blocks ALTER COLUMN id SET DEFAULT nextval('p -- --- TOC entry 5688 (class 2604 OID 1332738) +-- TOC entry 5719 (class 2604 OID 1332738) -- Name: copilot_applications id; Type: DEFAULT; Schema: projects; Owner: projects -- @@ -10021,7 +10118,7 @@ ALTER TABLE ONLY projects.copilot_applications ALTER COLUMN id SET DEFAULT nextv -- --- TOC entry 5621 (class 2604 OID 1324069) +-- TOC entry 5652 (class 2604 OID 1324069) -- Name: copilot_opportunities id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10029,7 +10126,7 @@ ALTER TABLE ONLY projects.copilot_opportunities ALTER COLUMN id SET DEFAULT next -- --- TOC entry 5622 (class 2604 OID 1324070) +-- TOC entry 5653 (class 2604 OID 1324070) -- Name: copilot_requests id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10037,7 +10134,7 @@ ALTER TABLE ONLY projects.copilot_requests ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5623 (class 2604 OID 1324071) +-- TOC entry 5654 (class 2604 OID 1324071) -- Name: customer_payments id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10045,7 +10142,7 @@ ALTER TABLE ONLY projects.customer_payments ALTER COLUMN id SET DEFAULT nextval( -- --- TOC entry 5624 (class 2604 OID 1324072) +-- TOC entry 5655 (class 2604 OID 1324072) -- Name: form id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10053,7 +10150,7 @@ ALTER TABLE ONLY projects.form ALTER COLUMN id SET DEFAULT nextval('projects.for -- --- TOC entry 5628 (class 2604 OID 1324073) +-- TOC entry 5659 (class 2604 OID 1324073) -- Name: milestone_templates id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10061,7 +10158,7 @@ ALTER TABLE ONLY projects.milestone_templates ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5630 (class 2604 OID 1324074) +-- TOC entry 5661 (class 2604 OID 1324074) -- Name: milestones id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10069,7 +10166,7 @@ ALTER TABLE ONLY projects.milestones ALTER COLUMN id SET DEFAULT nextval('projec -- --- TOC entry 5632 (class 2604 OID 1324075) +-- TOC entry 5663 (class 2604 OID 1324075) -- Name: org_config id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10077,7 +10174,7 @@ ALTER TABLE ONLY projects.org_config ALTER COLUMN id SET DEFAULT nextval('projec -- --- TOC entry 5633 (class 2604 OID 1324076) +-- TOC entry 5664 (class 2604 OID 1324076) -- Name: phase_products id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10085,7 +10182,7 @@ ALTER TABLE ONLY projects.phase_products ALTER COLUMN id SET DEFAULT nextval('pr -- --- TOC entry 5638 (class 2604 OID 1324077) +-- TOC entry 5669 (class 2604 OID 1324077) -- Name: plan_config id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10093,7 +10190,7 @@ ALTER TABLE ONLY projects.plan_config ALTER COLUMN id SET DEFAULT nextval('proje -- --- TOC entry 5642 (class 2604 OID 1324078) +-- TOC entry 5673 (class 2604 OID 1324078) -- Name: price_config id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10101,7 +10198,7 @@ ALTER TABLE ONLY projects.price_config ALTER COLUMN id SET DEFAULT nextval('proj -- --- TOC entry 5648 (class 2604 OID 1324079) +-- TOC entry 5679 (class 2604 OID 1324079) -- Name: product_templates id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10109,7 +10206,7 @@ ALTER TABLE ONLY projects.product_templates ALTER COLUMN id SET DEFAULT nextval( -- --- TOC entry 5652 (class 2604 OID 1324080) +-- TOC entry 5683 (class 2604 OID 1324080) -- Name: project_attachments id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10117,7 +10214,7 @@ ALTER TABLE ONLY projects.project_attachments ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5655 (class 2604 OID 1324081) +-- TOC entry 5686 (class 2604 OID 1324081) -- Name: project_estimations id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10125,7 +10222,7 @@ ALTER TABLE ONLY projects.project_estimations ALTER COLUMN id SET DEFAULT nextva -- --- TOC entry 5658 (class 2604 OID 1324082) +-- TOC entry 5689 (class 2604 OID 1324082) -- Name: project_history id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10133,7 +10230,7 @@ ALTER TABLE ONLY projects.project_history ALTER COLUMN id SET DEFAULT nextval('p -- --- TOC entry 5659 (class 2604 OID 1324083) +-- TOC entry 5690 (class 2604 OID 1324083) -- Name: project_member_invites id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10141,7 +10238,7 @@ ALTER TABLE ONLY projects.project_member_invites ALTER COLUMN id SET DEFAULT nex -- --- TOC entry 5660 (class 2604 OID 1324084) +-- TOC entry 5691 (class 2604 OID 1324084) -- Name: project_members id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10149,7 +10246,7 @@ ALTER TABLE ONLY projects.project_members ALTER COLUMN id SET DEFAULT nextval('p -- --- TOC entry 5664 (class 2604 OID 1324085) +-- TOC entry 5695 (class 2604 OID 1324085) -- Name: project_phases id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10157,7 +10254,7 @@ ALTER TABLE ONLY projects.project_phases ALTER COLUMN id SET DEFAULT nextval('pr -- --- TOC entry 5669 (class 2604 OID 1324086) +-- TOC entry 5700 (class 2604 OID 1324086) -- Name: project_settings id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10165,7 +10262,7 @@ ALTER TABLE ONLY projects.project_settings ALTER COLUMN id SET DEFAULT nextval(' -- --- TOC entry 5673 (class 2604 OID 1324087) +-- TOC entry 5704 (class 2604 OID 1324087) -- Name: project_templates id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10173,7 +10270,7 @@ ALTER TABLE ONLY projects.project_templates ALTER COLUMN id SET DEFAULT nextval( -- --- TOC entry 5679 (class 2604 OID 1324088) +-- TOC entry 5710 (class 2604 OID 1324088) -- Name: projects id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10181,7 +10278,7 @@ ALTER TABLE ONLY projects.projects ALTER COLUMN id SET DEFAULT nextval('projects -- --- TOC entry 5683 (class 2604 OID 1324089) +-- TOC entry 5714 (class 2604 OID 1324089) -- Name: scope_change_requests id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10189,7 +10286,7 @@ ALTER TABLE ONLY projects.scope_change_requests ALTER COLUMN id SET DEFAULT next -- --- TOC entry 5684 (class 2604 OID 1324090) +-- TOC entry 5715 (class 2604 OID 1324090) -- Name: status_history id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10197,7 +10294,7 @@ ALTER TABLE ONLY projects.status_history ALTER COLUMN id SET DEFAULT nextval('pr -- --- TOC entry 5685 (class 2604 OID 1324091) +-- TOC entry 5716 (class 2604 OID 1324091) -- Name: timelines id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10205,7 +10302,7 @@ ALTER TABLE ONLY projects.timelines ALTER COLUMN id SET DEFAULT nextval('project -- --- TOC entry 5686 (class 2604 OID 1324092) +-- TOC entry 5717 (class 2604 OID 1324092) -- Name: work_management_permissions id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10213,7 +10310,7 @@ ALTER TABLE ONLY projects.work_management_permissions ALTER COLUMN id SET DEFAUL -- --- TOC entry 5687 (class 2604 OID 1324093) +-- TOC entry 5718 (class 2604 OID 1324093) -- Name: work_streams id; Type: DEFAULT; Schema: projects; Owner: topcoder -- @@ -10221,7 +10318,7 @@ ALTER TABLE ONLY projects.work_streams ALTER COLUMN id SET DEFAULT nextval('proj -- --- TOC entry 5735 (class 2604 OID 1352767) +-- TOC entry 5761 (class 2604 OID 1352767) -- Name: events id; Type: DEFAULT; Schema: timeline; Owner: topcoder -- @@ -10229,1693 +10326,10532 @@ ALTER TABLE ONLY timeline.events ALTER COLUMN id SET DEFAULT nextval('timeline.e -- --- TOC entry 7622 (class 0 OID 0) --- Dependencies: 9 --- Name: SCHEMA academy; Type: ACL; Schema: -; Owner: academy +-- TOC entry 6257 (class 2606 OID 1363214) +-- Name: CertificationCategory CertificationCategory_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT CREATE ON SCHEMA academy TO PUBLIC; +ALTER TABLE ONLY academy."CertificationCategory" + ADD CONSTRAINT "CertificationCategory_pkey" PRIMARY KEY (id); -- --- TOC entry 7624 (class 0 OID 0) --- Dependencies: 12 --- Name: SCHEMA emails; Type: ACL; Schema: -; Owner: emails +-- TOC entry 6260 (class 2606 OID 1363216) +-- Name: CertificationEnrollments CertificationEnrollments_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA emails TO PUBLIC; +ALTER TABLE ONLY academy."CertificationEnrollments" + ADD CONSTRAINT "CertificationEnrollments_pkey" PRIMARY KEY (id); -- --- TOC entry 7625 (class 0 OID 0) --- Dependencies: 13 --- Name: SCHEMA gamification; Type: ACL; Schema: -; Owner: gamification +-- TOC entry 6265 (class 2606 OID 1363218) +-- Name: CertificationResourceProgresses CertificationResourceProgresses_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA gamification TO PUBLIC; +ALTER TABLE ONLY academy."CertificationResourceProgresses" + ADD CONSTRAINT "CertificationResourceProgresses_pkey" PRIMARY KEY (id); -- --- TOC entry 7626 (class 0 OID 0) --- Dependencies: 14 --- Name: SCHEMA messages; Type: ACL; Schema: -; Owner: messages +-- TOC entry 6263 (class 2606 OID 1363220) +-- Name: CertificationResource CertificationResource_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA messages TO PUBLIC; +ALTER TABLE ONLY academy."CertificationResource" + ADD CONSTRAINT "CertificationResource_pkey" PRIMARY KEY (id); -- --- TOC entry 7628 (class 0 OID 0) --- Dependencies: 16 --- Name: SCHEMA notifications; Type: ACL; Schema: -; Owner: notifications +-- TOC entry 6267 (class 2606 OID 1363222) +-- Name: DataVersion DataVersion_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA notifications TO PUBLIC; +ALTER TABLE ONLY academy."DataVersion" + ADD CONSTRAINT "DataVersion_pkey" PRIMARY KEY (version); -- --- TOC entry 7630 (class 0 OID 0) --- Dependencies: 18 --- Name: SCHEMA projects; Type: ACL; Schema: -; Owner: projects +-- TOC entry 6269 (class 2606 OID 1363224) +-- Name: FccCertificationProgresses FccCertificationProgresses_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -REVOKE ALL ON SCHEMA projects FROM pg_database_owner; -REVOKE USAGE ON SCHEMA projects FROM PUBLIC; -GRANT ALL ON SCHEMA projects TO projects; -GRANT ALL ON SCHEMA projects TO finance; -GRANT ALL ON SCHEMA projects TO PUBLIC; +ALTER TABLE ONLY academy."FccCertificationProgresses" + ADD CONSTRAINT "FccCertificationProgresses_pkey" PRIMARY KEY (id); -- --- TOC entry 7631 (class 0 OID 0) --- Dependencies: 22 --- Name: SCHEMA resources; Type: ACL; Schema: -; Owner: resources +-- TOC entry 6272 (class 2606 OID 1363226) +-- Name: FccCompletedLessons FccCompletedLessons_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT USAGE ON SCHEMA resources TO challenges; +ALTER TABLE ONLY academy."FccCompletedLessons" + ADD CONSTRAINT "FccCompletedLessons_pkey" PRIMARY KEY (id, "fccModuleProgressId"); -- --- TOC entry 7633 (class 0 OID 0) --- Dependencies: 26 --- Name: SCHEMA skills; Type: ACL; Schema: -; Owner: skills +-- TOC entry 6274 (class 2606 OID 1363228) +-- Name: FccCourses FccCourses_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA skills TO PUBLIC; -GRANT ALL ON SCHEMA skills TO member_skills; +ALTER TABLE ONLY academy."FccCourses" + ADD CONSTRAINT "FccCourses_pkey" PRIMARY KEY (id); -- --- TOC entry 7636 (class 0 OID 0) --- Dependencies: 15 --- Name: SCHEMA timeline; Type: ACL; Schema: -; Owner: timeline +-- TOC entry 6276 (class 2606 OID 1363230) +-- Name: FccLessons FccLessons_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SCHEMA timeline TO PUBLIC; +ALTER TABLE ONLY academy."FccLessons" + ADD CONSTRAINT "FccLessons_pkey" PRIMARY KEY (id); -- --- TOC entry 7641 (class 0 OID 0) --- Dependencies: 347 --- Name: TABLE "CertificationCategory"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6278 (class 2606 OID 1363232) +-- Name: FccModuleProgresses FccModuleProgresses_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationCategory" TO academy; +ALTER TABLE ONLY academy."FccModuleProgresses" + ADD CONSTRAINT "FccModuleProgresses_pkey" PRIMARY KEY (id); -- --- TOC entry 7643 (class 0 OID 0) --- Dependencies: 348 --- Name: SEQUENCE "CertificationCategory_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6280 (class 2606 OID 1363234) +-- Name: FccModules FccModules_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SEQUENCE academy."CertificationCategory_id_seq" TO academy; +ALTER TABLE ONLY academy."FccModules" + ADD CONSTRAINT "FccModules_pkey" PRIMARY KEY (id); -- --- TOC entry 7644 (class 0 OID 0) --- Dependencies: 349 --- Name: TABLE "CertificationEnrollments"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6284 (class 2606 OID 1363236) +-- Name: FreeCodeCampCertification FreeCodeCampCertification_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationEnrollments" TO academy; +ALTER TABLE ONLY academy."FreeCodeCampCertification" + ADD CONSTRAINT "FreeCodeCampCertification_pkey" PRIMARY KEY (id); -- --- TOC entry 7646 (class 0 OID 0) --- Dependencies: 350 --- Name: SEQUENCE "CertificationEnrollments_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6288 (class 2606 OID 1363238) +-- Name: ResourceProvider ResourceProvider_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SEQUENCE academy."CertificationEnrollments_id_seq" TO academy; +ALTER TABLE ONLY academy."ResourceProvider" + ADD CONSTRAINT "ResourceProvider_pkey" PRIMARY KEY (id); -- --- TOC entry 7647 (class 0 OID 0) --- Dependencies: 351 --- Name: TABLE "CertificationResource"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6290 (class 2606 OID 1363240) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationResource" TO academy; +ALTER TABLE ONLY academy."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); -- --- TOC entry 7648 (class 0 OID 0) --- Dependencies: 352 --- Name: TABLE "CertificationResourceProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6292 (class 2606 OID 1363242) +-- Name: TopcoderCertification TopcoderCertification_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationResourceProgresses" TO academy; +ALTER TABLE ONLY academy."TopcoderCertification" + ADD CONSTRAINT "TopcoderCertification_pkey" PRIMARY KEY (id); -- --- TOC entry 7650 (class 0 OID 0) --- Dependencies: 353 --- Name: SEQUENCE "CertificationResourceProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6295 (class 2606 OID 1363244) +-- Name: TopcoderUdemyCourse TopcoderUdemyCourse_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SEQUENCE academy."CertificationResourceProgresses_id_seq" TO academy; +ALTER TABLE ONLY academy."TopcoderUdemyCourse" + ADD CONSTRAINT "TopcoderUdemyCourse_pkey" PRIMARY KEY (id); -- --- TOC entry 7652 (class 0 OID 0) --- Dependencies: 354 --- Name: SEQUENCE "CertificationResource_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6297 (class 2606 OID 1363246) +-- Name: UdemyCourse UdemyCourse_pkey; Type: CONSTRAINT; Schema: academy; Owner: topcoder -- -GRANT ALL ON SEQUENCE academy."CertificationResource_id_seq" TO academy; +ALTER TABLE ONLY academy."UdemyCourse" + ADD CONSTRAINT "UdemyCourse_pkey" PRIMARY KEY (id, data_version); -- --- TOC entry 7653 (class 0 OID 0) --- Dependencies: 355 --- Name: TABLE "DataVersion"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6925 (class 2606 OID 2061248) +-- Name: actions actions_pkey; Type: CONSTRAINT; Schema: autopilot; Owner: autopilot -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."DataVersion" TO academy; +ALTER TABLE ONLY autopilot.actions + ADD CONSTRAINT actions_pkey PRIMARY KEY (id); -- --- TOC entry 7654 (class 0 OID 0) --- Dependencies: 356 --- Name: TABLE "FccCertificationProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6954 (class 2606 OID 2069956) +-- Name: BillingAccountAccess BillingAccountAccess_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCertificationProgresses" TO academy; +ALTER TABLE ONLY "billing-accounts"."BillingAccountAccess" + ADD CONSTRAINT "BillingAccountAccess_pkey" PRIMARY KEY (id); -- --- TOC entry 7656 (class 0 OID 0) --- Dependencies: 357 --- Name: SEQUENCE "FccCertificationProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6941 (class 2606 OID 2069994) +-- Name: BillingAccount BillingAccount_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT ALL ON SEQUENCE academy."FccCertificationProgresses_id_seq" TO academy; +ALTER TABLE ONLY "billing-accounts"."BillingAccount" + ADD CONSTRAINT "BillingAccount_pkey" PRIMARY KEY (id); -- --- TOC entry 7657 (class 0 OID 0) --- Dependencies: 358 --- Name: TABLE "FccCompletedLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6935 (class 2606 OID 2069921) +-- Name: Client Client_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCompletedLessons" TO academy; +ALTER TABLE ONLY "billing-accounts"."Client" + ADD CONSTRAINT "Client_pkey" PRIMARY KEY (id); -- --- TOC entry 7658 (class 0 OID 0) --- Dependencies: 359 --- Name: TABLE "FccCourses"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6951 (class 2606 OID 2069948) +-- Name: ConsumedAmount ConsumedAmount_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCourses" TO academy; +ALTER TABLE ONLY "billing-accounts"."ConsumedAmount" + ADD CONSTRAINT "ConsumedAmount_pkey" PRIMARY KEY (id); -- --- TOC entry 7660 (class 0 OID 0) --- Dependencies: 360 --- Name: SEQUENCE "FccCourses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6947 (class 2606 OID 2069940) +-- Name: LockedAmount LockedAmount_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT ALL ON SEQUENCE academy."FccCourses_id_seq" TO academy; +ALTER TABLE ONLY "billing-accounts"."LockedAmount" + ADD CONSTRAINT "LockedAmount_pkey" PRIMARY KEY (id); -- --- TOC entry 7661 (class 0 OID 0) --- Dependencies: 361 --- Name: TABLE "FccLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6931 (class 2606 OID 2069900) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccLessons" TO academy; +ALTER TABLE ONLY "billing-accounts"._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7662 (class 0 OID 0) --- Dependencies: 362 --- Name: TABLE "FccModuleProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6542 (class 2606 OID 2004952) +-- Name: Attachment Attachment_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccModuleProgresses" TO academy; +ALTER TABLE ONLY challenges."Attachment" + ADD CONSTRAINT "Attachment_pkey" PRIMARY KEY (id); -- --- TOC entry 7664 (class 0 OID 0) --- Dependencies: 363 --- Name: SEQUENCE "FccModuleProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6540 (class 2606 OID 2004944) +-- Name: AuditLog AuditLog_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE academy."FccModuleProgresses_id_seq" TO academy; +ALTER TABLE ONLY challenges."AuditLog" + ADD CONSTRAINT "AuditLog_pkey" PRIMARY KEY (id); -- --- TOC entry 7665 (class 0 OID 0) --- Dependencies: 364 --- Name: TABLE "FccModules"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6560 (class 2606 OID 2005000) +-- Name: ChallengeBilling ChallengeBilling_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccModules" TO academy; +ALTER TABLE ONLY challenges."ChallengeBilling" + ADD CONSTRAINT "ChallengeBilling_pkey" PRIMARY KEY (id); -- --- TOC entry 7667 (class 0 OID 0) --- Dependencies: 365 --- Name: SEQUENCE "FccModules_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6576 (class 2606 OID 2005048) +-- Name: ChallengeConstraint ChallengeConstraint_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE academy."FccModules_id_seq" TO academy; +ALTER TABLE ONLY challenges."ChallengeConstraint" + ADD CONSTRAINT "ChallengeConstraint_pkey" PRIMARY KEY (id); -- --- TOC entry 7668 (class 0 OID 0) --- Dependencies: 366 --- Name: TABLE "FreeCodeCampCertification"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6573 (class 2606 OID 2005039) +-- Name: ChallengeDiscussionOption ChallengeDiscussionOption_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FreeCodeCampCertification" TO academy; +ALTER TABLE ONLY challenges."ChallengeDiscussionOption" + ADD CONSTRAINT "ChallengeDiscussionOption_pkey" PRIMARY KEY (id); -- --- TOC entry 7670 (class 0 OID 0) --- Dependencies: 367 --- Name: SEQUENCE "FreeCodeCampCertification_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6571 (class 2606 OID 2005031) +-- Name: ChallengeDiscussion ChallengeDiscussion_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE academy."FreeCodeCampCertification_id_seq" TO academy; +ALTER TABLE ONLY challenges."ChallengeDiscussion" + ADD CONSTRAINT "ChallengeDiscussion_pkey" PRIMARY KEY (id); -- --- TOC entry 7671 (class 0 OID 0) --- Dependencies: 368 --- Name: TABLE "ResourceProvider"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6568 (class 2606 OID 2005023) +-- Name: ChallengeEvent ChallengeEvent_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."ResourceProvider" TO academy; +ALTER TABLE ONLY challenges."ChallengeEvent" + ADD CONSTRAINT "ChallengeEvent_pkey" PRIMARY KEY (id); -- --- TOC entry 7673 (class 0 OID 0) --- Dependencies: 369 --- Name: SEQUENCE "ResourceProvider_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6565 (class 2606 OID 2005015) +-- Name: ChallengeLegacy ChallengeLegacy_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE academy."ResourceProvider_id_seq" TO academy; +ALTER TABLE ONLY challenges."ChallengeLegacy" + ADD CONSTRAINT "ChallengeLegacy_pkey" PRIMARY KEY (id); -- --- TOC entry 7674 (class 0 OID 0) --- Dependencies: 370 --- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6545 (class 2606 OID 2004960) +-- Name: ChallengeMetadata ChallengeMetadata_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."SequelizeMeta" TO academy; +ALTER TABLE ONLY challenges."ChallengeMetadata" + ADD CONSTRAINT "ChallengeMetadata_pkey" PRIMARY KEY (id); -- --- TOC entry 7675 (class 0 OID 0) --- Dependencies: 371 --- Name: TABLE "TopcoderCertification"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6589 (class 2606 OID 2005073) +-- Name: ChallengePhaseConstraint ChallengePhaseConstraint_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."TopcoderCertification" TO academy; +ALTER TABLE ONLY challenges."ChallengePhaseConstraint" + ADD CONSTRAINT "ChallengePhaseConstraint_pkey" PRIMARY KEY (id); -- --- TOC entry 7677 (class 0 OID 0) --- Dependencies: 372 --- Name: SEQUENCE "TopcoderCertification_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6584 (class 2606 OID 2005065) +-- Name: ChallengePhase ChallengePhase_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE academy."TopcoderCertification_id_seq" TO academy; +ALTER TABLE ONLY challenges."ChallengePhase" + ADD CONSTRAINT "ChallengePhase_pkey" PRIMARY KEY (id); -- --- TOC entry 7678 (class 0 OID 0) --- Dependencies: 373 --- Name: TABLE "TopcoderUdemyCourse"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6593 (class 2606 OID 2005081) +-- Name: ChallengePrizeSet ChallengePrizeSet_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."TopcoderUdemyCourse" TO academy; +ALTER TABLE ONLY challenges."ChallengePrizeSet" + ADD CONSTRAINT "ChallengePrizeSet_pkey" PRIMARY KEY (id); -- --- TOC entry 7679 (class 0 OID 0) --- Dependencies: 374 --- Name: TABLE "UdemyCourse"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6606 (class 2606 OID 2005258) +-- Name: ChallengeReviewer ChallengeReviewer_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."UdemyCourse" TO academy; +ALTER TABLE ONLY challenges."ChallengeReviewer" + ADD CONSTRAINT "ChallengeReviewer_pkey" PRIMARY KEY (id); -- --- TOC entry 7680 (class 0 OID 0) --- Dependencies: 375 --- Name: TABLE "fccCertsModulesLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- TOC entry 6557 (class 2606 OID 2004992) +-- Name: ChallengeSkill ChallengeSkill_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."fccCertsModulesLessons" TO academy; +ALTER TABLE ONLY challenges."ChallengeSkill" + ADD CONSTRAINT "ChallengeSkill_pkey" PRIMARY KEY (id); -- --- TOC entry 7682 (class 0 OID 0) --- Dependencies: 385 --- Name: TABLE "Emails"; Type: ACL; Schema: emails; Owner: topcoder +-- TOC entry 6555 (class 2606 OID 2004984) +-- Name: ChallengeTerm ChallengeTerm_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE emails."Emails" TO emails; +ALTER TABLE ONLY challenges."ChallengeTerm" + ADD CONSTRAINT "ChallengeTerm_pkey" PRIMARY KEY (id); -- --- TOC entry 7684 (class 0 OID 0) --- Dependencies: 386 --- Name: SEQUENCE "Emails_id_seq"; Type: ACL; Schema: emails; Owner: topcoder +-- TOC entry 6536 (class 2606 OID 2004936) +-- Name: ChallengeTimelineTemplate ChallengeTimelineTemplate_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT ALL ON SEQUENCE emails."Emails_id_seq" TO emails; +ALTER TABLE ONLY challenges."ChallengeTimelineTemplate" + ADD CONSTRAINT "ChallengeTimelineTemplate_pkey" PRIMARY KEY (id); -- --- TOC entry 7690 (class 0 OID 0) --- Dependencies: 326 --- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6534 (class 2606 OID 2004927) +-- Name: ChallengeTrack ChallengeTrack_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification."SequelizeMeta" TO gamification; +ALTER TABLE ONLY challenges."ChallengeTrack" + ADD CONSTRAINT "ChallengeTrack_pkey" PRIMARY KEY (id); -- --- TOC entry 7691 (class 0 OID 0) --- Dependencies: 327 --- Name: TABLE badge_custom_fields; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6531 (class 2606 OID 2004919) +-- Name: ChallengeType ChallengeType_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.badge_custom_fields TO gamification; +ALTER TABLE ONLY challenges."ChallengeType" + ADD CONSTRAINT "ChallengeType_pkey" PRIMARY KEY (id); -- --- TOC entry 7692 (class 0 OID 0) --- Dependencies: 328 --- Name: TABLE member_badges; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6553 (class 2606 OID 2004976) +-- Name: ChallengeWinner ChallengeWinner_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.member_badges TO gamification; +ALTER TABLE ONLY challenges."ChallengeWinner" + ADD CONSTRAINT "ChallengeWinner_pkey" PRIMARY KEY (id); -- --- TOC entry 7693 (class 0 OID 0) --- Dependencies: 329 --- Name: TABLE organization; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6512 (class 2606 OID 2004909) +-- Name: Challenge Challenge_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization TO gamification; +ALTER TABLE ONLY challenges."Challenge" + ADD CONSTRAINT "Challenge_pkey" PRIMARY KEY (id); -- --- TOC entry 7694 (class 0 OID 0) --- Dependencies: 330 --- Name: TABLE organization_badges; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6610 (class 2606 OID 2005300) +-- Name: DefaultChallengeReviewer DefaultChallengeReviewer_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges TO gamification; +ALTER TABLE ONLY challenges."DefaultChallengeReviewer" + ADD CONSTRAINT "DefaultChallengeReviewer_pkey" PRIMARY KEY (id); -- --- TOC entry 7695 (class 0 OID 0) --- Dependencies: 331 --- Name: TABLE organization_badges_custom_fields; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6579 (class 2606 OID 2005056) +-- Name: Phase Phase_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges_custom_fields TO gamification; +ALTER TABLE ONLY challenges."Phase" + ADD CONSTRAINT "Phase_pkey" PRIMARY KEY (id); -- --- TOC entry 7696 (class 0 OID 0) --- Dependencies: 332 --- Name: TABLE organization_badges_tags; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6548 (class 2606 OID 2004968) +-- Name: Prize Prize_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges_tags TO gamification; +ALTER TABLE ONLY challenges."Prize" + ADD CONSTRAINT "Prize_pkey" PRIMARY KEY (id); -- --- TOC entry 7697 (class 0 OID 0) --- Dependencies: 333 --- Name: TABLE tags; Type: ACL; Schema: gamification; Owner: topcoder +-- TOC entry 6599 (class 2606 OID 2005098) +-- Name: TimelineTemplatePhase TimelineTemplatePhase_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.tags TO gamification; +ALTER TABLE ONLY challenges."TimelineTemplatePhase" + ADD CONSTRAINT "TimelineTemplatePhase_pkey" PRIMARY KEY (id); -- --- TOC entry 7732 (class 0 OID 0) --- Dependencies: 334 --- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6597 (class 2606 OID 2005090) +-- Name: TimelineTemplate TimelineTemplate_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages."SequelizeMeta" TO messages; +ALTER TABLE ONLY challenges."TimelineTemplate" + ADD CONSTRAINT "TimelineTemplate_pkey" PRIMARY KEY (id); -- --- TOC entry 7733 (class 0 OID 0) --- Dependencies: 335 --- Name: TABLE email_logs; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6507 (class 2606 OID 2004836) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: challenges; Owner: challenges -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.email_logs TO messages; +ALTER TABLE ONLY challenges._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7735 (class 0 OID 0) --- Dependencies: 336 --- Name: SEQUENCE email_logs_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6328 (class 2606 OID 1363883) +-- Name: Emails Emails_pkey; Type: CONSTRAINT; Schema: emails; Owner: topcoder -- -GRANT ALL ON SEQUENCE messages.email_logs_id_seq TO messages; +ALTER TABLE ONLY emails."Emails" + ADD CONSTRAINT "Emails_pkey" PRIMARY KEY (id); -- --- TOC entry 7736 (class 0 OID 0) --- Dependencies: 337 --- Name: TABLE post_attachments; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6160 (class 2606 OID 1334280) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.post_attachments TO messages; +ALTER TABLE ONLY finance._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7738 (class 0 OID 0) --- Dependencies: 338 --- Name: SEQUENCE post_attachments_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6162 (class 2606 OID 1334525) +-- Name: audit audit_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE messages.post_attachments_id_seq TO messages; +ALTER TABLE ONLY finance.audit + ADD CONSTRAINT audit_pkey PRIMARY KEY (id); -- --- TOC entry 7739 (class 0 OID 0) --- Dependencies: 339 --- Name: TABLE post_user_stats; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6921 (class 2606 OID 2055340) +-- Name: challenge_lock challenge_lock_external_id_key; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.post_user_stats TO messages; +ALTER TABLE ONLY finance.challenge_lock + ADD CONSTRAINT challenge_lock_external_id_key UNIQUE (external_id); -- --- TOC entry 7740 (class 0 OID 0) --- Dependencies: 340 --- Name: TABLE posts; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6923 (class 2606 OID 2055338) +-- Name: challenge_lock challenge_lock_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.posts TO messages; +ALTER TABLE ONLY finance.challenge_lock + ADD CONSTRAINT challenge_lock_pkey PRIMARY KEY (id); -- --- TOC entry 7742 (class 0 OID 0) --- Dependencies: 341 --- Name: SEQUENCE posts_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6164 (class 2606 OID 1334538) +-- Name: origin origin_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE messages.posts_id_seq TO messages; +ALTER TABLE ONLY finance.origin + ADD CONSTRAINT origin_pkey PRIMARY KEY (origin_id); -- --- TOC entry 7743 (class 0 OID 0) --- Dependencies: 342 --- Name: TABLE reference_lookups; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6166 (class 2606 OID 1334549) +-- Name: otp otp_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.reference_lookups TO messages; +ALTER TABLE ONLY finance.otp + ADD CONSTRAINT otp_pkey PRIMARY KEY (id); -- --- TOC entry 7744 (class 0 OID 0) --- Dependencies: 343 --- Name: TABLE topics; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6178 (class 2606 OID 1334570) +-- Name: payment_method payment_method_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.topics TO messages; +ALTER TABLE ONLY finance.payment_method + ADD CONSTRAINT payment_method_pkey PRIMARY KEY (payment_method_id); -- --- TOC entry 7746 (class 0 OID 0) --- Dependencies: 344 --- Name: SEQUENCE topics_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- TOC entry 6175 (class 2606 OID 1334561) +-- Name: payment payment_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE messages.topics_id_seq TO messages; +ALTER TABLE ONLY finance.payment + ADD CONSTRAINT payment_pkey PRIMARY KEY (payment_id); -- --- TOC entry 7747 (class 0 OID 0) --- Dependencies: 387 --- Name: TABLE "NotificationSettings"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6180 (class 2606 OID 1334575) +-- Name: payment_release_associations payment_release_associations_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."NotificationSettings" TO notifications; +ALTER TABLE ONLY finance.payment_release_associations + ADD CONSTRAINT payment_release_associations_pkey PRIMARY KEY (payment_release_id, payment_id); -- --- TOC entry 7749 (class 0 OID 0) --- Dependencies: 388 --- Name: SEQUENCE "NotificationSettings_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6182 (class 2606 OID 1334586) +-- Name: payment_releases payment_releases_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE notifications."NotificationSettings_id_seq" TO notifications; +ALTER TABLE ONLY finance.payment_releases + ADD CONSTRAINT payment_releases_pkey PRIMARY KEY (payment_release_id); -- --- TOC entry 7750 (class 0 OID 0) --- Dependencies: 389 --- Name: TABLE "Notifications"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6205 (class 2606 OID 1334784) +-- Name: trolley_recipient_payment_method trolley_recipient_payment_method_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."Notifications" TO notifications; +ALTER TABLE ONLY finance.trolley_recipient_payment_method + ADD CONSTRAINT trolley_recipient_payment_method_pkey PRIMARY KEY (id); -- --- TOC entry 7752 (class 0 OID 0) --- Dependencies: 390 --- Name: SEQUENCE "Notifications_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6199 (class 2606 OID 1334757) +-- Name: trolley_recipient trolley_recipient_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE notifications."Notifications_id_seq" TO notifications; +ALTER TABLE ONLY finance.trolley_recipient + ADD CONSTRAINT trolley_recipient_pkey PRIMARY KEY (id); -- --- TOC entry 7753 (class 0 OID 0) --- Dependencies: 391 --- Name: TABLE "ScheduledEvents"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6197 (class 2606 OID 1334749) +-- Name: trolley_webhook_log trolley_webhook_log_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."ScheduledEvents" TO notifications; +ALTER TABLE ONLY finance.trolley_webhook_log + ADD CONSTRAINT trolley_webhook_log_pkey PRIMARY KEY (id); -- --- TOC entry 7755 (class 0 OID 0) --- Dependencies: 392 --- Name: SEQUENCE "ScheduledEvents_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6431 (class 2606 OID 1771176) +-- Name: user_identity_verification_associations user_identity_verification_associations_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE notifications."ScheduledEvents_id_seq" TO notifications; +ALTER TABLE ONLY finance.user_identity_verification_associations + ADD CONSTRAINT user_identity_verification_associations_pkey PRIMARY KEY (id); -- --- TOC entry 7756 (class 0 OID 0) --- Dependencies: 393 --- Name: TABLE "ServiceSettings"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6184 (class 2606 OID 1334639) +-- Name: user_payment_methods user_payment_methods_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."ServiceSettings" TO notifications; +ALTER TABLE ONLY finance.user_payment_methods + ADD CONSTRAINT user_payment_methods_pkey PRIMARY KEY (id); -- --- TOC entry 7758 (class 0 OID 0) --- Dependencies: 394 --- Name: SEQUENCE "ServiceSettings_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6203 (class 2606 OID 1334778) +-- Name: user_tax_form_associations user_tax_form_associations_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT ALL ON SEQUENCE notifications."ServiceSettings_id_seq" TO notifications; +ALTER TABLE ONLY finance.user_tax_form_associations + ADD CONSTRAINT user_tax_form_associations_pkey PRIMARY KEY (id); -- --- TOC entry 7759 (class 0 OID 0) --- Dependencies: 395 --- Name: TABLE bk_notifications_20200609; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6194 (class 2606 OID 1334657) +-- Name: winnings winnings_pkey; Type: CONSTRAINT; Schema: finance; Owner: finance -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bk_notifications_20200609 TO notifications; +ALTER TABLE ONLY finance.winnings + ADD CONSTRAINT winnings_pkey PRIMARY KEY (winning_id); -- --- TOC entry 7760 (class 0 OID 0) --- Dependencies: 396 --- Name: TABLE bulk_message_user_refs; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6208 (class 2606 OID 1347897) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bulk_message_user_refs TO notifications; +ALTER TABLE ONLY gamification."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); -- --- TOC entry 7762 (class 0 OID 0) --- Dependencies: 397 --- Name: SEQUENCE bulk_message_user_refs_id_seq; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6210 (class 2606 OID 1347899) +-- Name: badge_custom_fields badge_custom_fields_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE notifications.bulk_message_user_refs_id_seq TO notifications; +ALTER TABLE ONLY gamification.badge_custom_fields + ADD CONSTRAINT badge_custom_fields_pkey PRIMARY KEY (field_def_id); -- --- TOC entry 7763 (class 0 OID 0) --- Dependencies: 398 --- Name: TABLE bulk_messages; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6216 (class 2606 OID 1347901) +-- Name: member_badges badge_per_user; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bulk_messages TO notifications; +ALTER TABLE ONLY gamification.member_badges + ADD CONSTRAINT badge_per_user PRIMARY KEY (user_id, org_badge_id); -- --- TOC entry 7765 (class 0 OID 0) --- Dependencies: 399 --- Name: SEQUENCE bulk_messages_id_seq; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6222 (class 2606 OID 1347903) +-- Name: organization_badges org_badge_name; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE notifications.bulk_messages_id_seq TO notifications; +ALTER TABLE ONLY gamification.organization_badges + ADD CONSTRAINT org_badge_name UNIQUE (organization_id, badge_name); -- --- TOC entry 7766 (class 0 OID 0) --- Dependencies: 400 --- Name: TABLE tmpbtable; Type: ACL; Schema: notifications; Owner: topcoder +-- TOC entry 6224 (class 2606 OID 1347905) +-- Name: organization_badges org_badge_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.tmpbtable TO notifications; +ALTER TABLE ONLY gamification.organization_badges + ADD CONSTRAINT org_badge_pkey PRIMARY KEY (id); -- --- TOC entry 7767 (class 0 OID 0) --- Dependencies: 238 --- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6226 (class 2606 OID 1347907) +-- Name: organization_badges org_badge_unique_key; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects."SequelizeMeta" TO projects; +ALTER TABLE ONLY gamification.organization_badges + ADD CONSTRAINT org_badge_unique_key UNIQUE (id, organization_id); -- --- TOC entry 7768 (class 0 OID 0) --- Dependencies: 239 --- Name: TABLE building_blocks; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6212 (class 2606 OID 1347909) +-- Name: badge_custom_fields org_field; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.building_blocks TO projects; +ALTER TABLE ONLY gamification.badge_custom_fields + ADD CONSTRAINT org_field UNIQUE (organization_id, name); -- --- TOC entry 7770 (class 0 OID 0) --- Dependencies: 240 --- Name: SEQUENCE building_blocks_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6218 (class 2606 OID 1347911) +-- Name: organization org_name; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE projects.building_blocks_id_seq TO projects; +ALTER TABLE ONLY gamification.organization + ADD CONSTRAINT org_name UNIQUE (name); -- --- TOC entry 7771 (class 0 OID 0) --- Dependencies: 303 --- Name: TABLE copilot_applications; Type: ACL; Schema: projects; Owner: projects +-- TOC entry 6220 (class 2606 OID 1347913) +-- Name: organization org_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_applications TO topcoder; +ALTER TABLE ONLY gamification.organization + ADD CONSTRAINT org_pkey PRIMARY KEY (id); -- --- TOC entry 7773 (class 0 OID 0) --- Dependencies: 302 --- Name: SEQUENCE copilot_applications_id_seq; Type: ACL; Schema: projects; Owner: projects +-- TOC entry 6232 (class 2606 OID 1347915) +-- Name: tags org_tag; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE projects.copilot_applications_id_seq TO topcoder; +ALTER TABLE ONLY gamification.tags + ADD CONSTRAINT org_tag UNIQUE (organization_id, tag_value); -- --- TOC entry 7774 (class 0 OID 0) --- Dependencies: 241 --- Name: TABLE copilot_opportunities; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6228 (class 2606 OID 1347917) +-- Name: organization_badges_custom_fields organization_badges_custom_fields_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_opportunities TO projects; +ALTER TABLE ONLY gamification.organization_badges_custom_fields + ADD CONSTRAINT organization_badges_custom_fields_pkey PRIMARY KEY (badges_id, custom_field_id); -- --- TOC entry 7776 (class 0 OID 0) --- Dependencies: 242 --- Name: SEQUENCE copilot_opportunities_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6230 (class 2606 OID 1347919) +-- Name: organization_badges_tags organization_badges_tags_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE projects.copilot_opportunities_id_seq TO projects; +ALTER TABLE ONLY gamification.organization_badges_tags + ADD CONSTRAINT organization_badges_tags_pkey PRIMARY KEY (organization_badges_id, tags_id); -- --- TOC entry 7777 (class 0 OID 0) --- Dependencies: 243 --- Name: TABLE copilot_requests; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6234 (class 2606 OID 1347921) +-- Name: tags tags_pkey; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_requests TO projects; +ALTER TABLE ONLY gamification.tags + ADD CONSTRAINT tags_pkey PRIMARY KEY (id); -- --- TOC entry 7779 (class 0 OID 0) --- Dependencies: 244 --- Name: SEQUENCE copilot_requests_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6236 (class 2606 OID 1347923) +-- Name: tags tags_unique_key; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT ALL ON SEQUENCE projects.copilot_requests_id_seq TO projects; +ALTER TABLE ONLY gamification.tags + ADD CONSTRAINT tags_unique_key UNIQUE (id, organization_id); -- --- TOC entry 7780 (class 0 OID 0) --- Dependencies: 245 --- Name: TABLE customer_payments; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6214 (class 2606 OID 1347925) +-- Name: badge_custom_fields unique_defs; Type: CONSTRAINT; Schema: gamification; Owner: topcoder -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.customer_payments TO projects; +ALTER TABLE ONLY gamification.badge_custom_fields + ADD CONSTRAINT unique_defs UNIQUE (organization_id, field_def_id); -- --- TOC entry 7782 (class 0 OID 0) --- Dependencies: 246 --- Name: SEQUENCE customer_payments_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6973 (class 2606 OID 2070292) +-- Name: GroupMember GroupMember_pkey; Type: CONSTRAINT; Schema: groups; Owner: groups -- -GRANT ALL ON SEQUENCE projects.customer_payments_id_seq TO projects; +ALTER TABLE ONLY groups."GroupMember" + ADD CONSTRAINT "GroupMember_pkey" PRIMARY KEY (id); -- --- TOC entry 7783 (class 0 OID 0) --- Dependencies: 247 --- Name: TABLE form; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6963 (class 2606 OID 2070284) +-- Name: Group Group_pkey; Type: CONSTRAINT; Schema: groups; Owner: groups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.form TO projects; +ALTER TABLE ONLY groups."Group" + ADD CONSTRAINT "Group_pkey" PRIMARY KEY (id); -- --- TOC entry 7785 (class 0 OID 0) --- Dependencies: 248 --- Name: SEQUENCE form_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6975 (class 2606 OID 2070300) +-- Name: User User_pkey; Type: CONSTRAINT; Schema: groups; Owner: groups -- -GRANT ALL ON SEQUENCE projects.form_id_seq TO projects; +ALTER TABLE ONLY groups."User" + ADD CONSTRAINT "User_pkey" PRIMARY KEY (id); -- --- TOC entry 7786 (class 0 OID 0) --- Dependencies: 249 --- Name: TABLE milestone_templates; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6978 (class 2606 OID 2070307) +-- Name: _ParentSubGroups _ParentSubGroups_AB_pkey; Type: CONSTRAINT; Schema: groups; Owner: groups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.milestone_templates TO projects; +ALTER TABLE ONLY groups."_ParentSubGroups" + ADD CONSTRAINT "_ParentSubGroups_AB_pkey" PRIMARY KEY ("A", "B"); -- --- TOC entry 7787 (class 0 OID 0) --- Dependencies: 250 --- Name: TABLE milestones; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6957 (class 2606 OID 2070270) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: groups; Owner: groups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.milestones TO projects; +ALTER TABLE ONLY groups._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7789 (class 0 OID 0) --- Dependencies: 251 --- Name: SEQUENCE milestones_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6433 (class 2606 OID 1831874) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.milestones_id_seq TO projects; +ALTER TABLE ONLY identity._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7790 (class 0 OID 0) --- Dependencies: 252 --- Name: TABLE org_config; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6435 (class 2606 OID 1831881) +-- Name: achievement_type_lu achv_type_lu_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.org_config TO projects; +ALTER TABLE ONLY identity.achievement_type_lu + ADD CONSTRAINT achv_type_lu_pkey PRIMARY KEY (achievement_type_id); -- --- TOC entry 7792 (class 0 OID 0) --- Dependencies: 253 --- Name: SEQUENCE org_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6497 (class 2606 OID 1832041) +-- Name: client client_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.org_config_id_seq TO projects; +ALTER TABLE ONLY identity.client + ADD CONSTRAINT client_pkey PRIMARY KEY (id); -- --- TOC entry 7793 (class 0 OID 0) --- Dependencies: 254 --- Name: TABLE phase_products; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6437 (class 2606 OID 1831887) +-- Name: country country_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.phase_products TO projects; +ALTER TABLE ONLY identity.country + ADD CONSTRAINT country_pkey PRIMARY KEY (country_code); -- --- TOC entry 7795 (class 0 OID 0) --- Dependencies: 255 --- Name: SEQUENCE phase_products_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6440 (class 2606 OID 1831896) +-- Name: dice_connection dice_connection_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.phase_products_id_seq TO projects; +ALTER TABLE ONLY identity.dice_connection + ADD CONSTRAINT dice_connection_pk PRIMARY KEY (id); -- --- TOC entry 7796 (class 0 OID 0) --- Dependencies: 256 --- Name: TABLE phase_work_streams; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6446 (class 2606 OID 1831911) +-- Name: email_status_lu email_status_lu_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.phase_work_streams TO projects; +ALTER TABLE ONLY identity.email_status_lu + ADD CONSTRAINT email_status_lu_pk PRIMARY KEY (status_id); -- --- TOC entry 7797 (class 0 OID 0) --- Dependencies: 257 --- Name: TABLE plan_config; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6448 (class 2606 OID 1831918) +-- Name: email_type_lu email_type_lu_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.plan_config TO projects; +ALTER TABLE ONLY identity.email_type_lu + ADD CONSTRAINT email_type_lu_pk PRIMARY KEY (email_type_id); -- --- TOC entry 7799 (class 0 OID 0) --- Dependencies: 258 --- Name: SEQUENCE plan_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6450 (class 2606 OID 1831924) +-- Name: id_sequences id_sequences_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.plan_config_id_seq TO projects; +ALTER TABLE ONLY identity.id_sequences + ADD CONSTRAINT id_sequences_pkey PRIMARY KEY (name); -- --- TOC entry 7800 (class 0 OID 0) --- Dependencies: 259 --- Name: TABLE price_config; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6452 (class 2606 OID 1831929) +-- Name: invalid_handles pk_invalid_hand556; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.price_config TO projects; +ALTER TABLE ONLY identity.invalid_handles + ADD CONSTRAINT pk_invalid_hand556 PRIMARY KEY (invalid_handle_id); -- --- TOC entry 7802 (class 0 OID 0) --- Dependencies: 260 --- Name: SEQUENCE price_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6454 (class 2606 OID 1831935) +-- Name: security_groups pk_security_groups; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.price_config_id_seq TO projects; +ALTER TABLE ONLY identity.security_groups + ADD CONSTRAINT pk_security_groups PRIMARY KEY (group_id); -- --- TOC entry 7803 (class 0 OID 0) --- Dependencies: 261 --- Name: TABLE product_categories; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6458 (class 2606 OID 1831945) +-- Name: security_user pk_security_user; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_categories TO projects; +ALTER TABLE ONLY identity.security_user + ADD CONSTRAINT pk_security_user PRIMARY KEY (login_id); -- --- TOC entry 7805 (class 0 OID 0) --- Dependencies: 262 --- Name: SEQUENCE product_milestone_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6476 (class 2606 OID 1831990) +-- Name: user_group_xref pk_user_group_xref; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.product_milestone_templates_id_seq TO projects; +ALTER TABLE ONLY identity.user_group_xref + ADD CONSTRAINT pk_user_group_xref PRIMARY KEY (user_group_id); -- --- TOC entry 7806 (class 0 OID 0) --- Dependencies: 263 --- Name: TABLE product_templates; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6502 (class 2606 OID 1832056) +-- Name: role_assignment role_assignment_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_templates TO projects; +ALTER TABLE ONLY identity.role_assignment + ADD CONSTRAINT role_assignment_pkey PRIMARY KEY (id); -- --- TOC entry 7807 (class 0 OID 0) --- Dependencies: 264 --- Name: TABLE product_templates_backup; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6500 (class 2606 OID 1832048) +-- Name: role role_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_templates_backup TO projects; +ALTER TABLE ONLY identity.role + ADD CONSTRAINT role_pkey PRIMARY KEY (id); -- --- TOC entry 7809 (class 0 OID 0) --- Dependencies: 265 --- Name: SEQUENCE product_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6456 (class 2606 OID 1831940) +-- Name: security_status_lu securitystatuslu_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.product_templates_id_seq TO projects; +ALTER TABLE ONLY identity.security_status_lu + ADD CONSTRAINT securitystatuslu_pkey PRIMARY KEY (security_status_id); -- --- TOC entry 7810 (class 0 OID 0) --- Dependencies: 266 --- Name: TABLE project_attachments; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6461 (class 2606 OID 1831950) +-- Name: social_login_provider social_provider_prkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_attachments TO projects; +ALTER TABLE ONLY identity.social_login_provider + ADD CONSTRAINT social_provider_prkey PRIMARY KEY (social_login_provider_id); -- --- TOC entry 7812 (class 0 OID 0) --- Dependencies: 267 --- Name: SEQUENCE project_attachments_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6463 (class 2606 OID 1831957) +-- Name: sso_login_provider sso_provider_prkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_attachments_id_seq TO projects; +ALTER TABLE ONLY identity.sso_login_provider + ADD CONSTRAINT sso_provider_prkey PRIMARY KEY (sso_login_provider_id); -- --- TOC entry 7814 (class 0 OID 0) --- Dependencies: 268 --- Name: SEQUENCE project_estimation_items_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6444 (class 2606 OID 1831904) +-- Name: email u110_23; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_estimation_items_id_seq TO projects; +ALTER TABLE ONLY identity.email + ADD CONSTRAINT u110_23 PRIMARY KEY (email_id); -- --- TOC entry 7815 (class 0 OID 0) --- Dependencies: 269 --- Name: TABLE project_estimation_items; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6489 (class 2606 OID 1832020) +-- Name: user_status_lu u113_26; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_estimation_items TO projects; +ALTER TABLE ONLY identity.user_status_lu + ADD CONSTRAINT u113_26 PRIMARY KEY (user_status_id); -- --- TOC entry 7816 (class 0 OID 0) --- Dependencies: 270 --- Name: TABLE project_estimations; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6465 (class 2606 OID 1831967) +-- Name: user u175_45; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_estimations TO projects; +ALTER TABLE ONLY identity."user" + ADD CONSTRAINT u175_45 PRIMARY KEY (user_id); -- --- TOC entry 7818 (class 0 OID 0) --- Dependencies: 271 --- Name: SEQUENCE project_estimations_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6471 (class 2606 OID 1831978) +-- Name: user_2fa user_2fa_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_estimations_id_seq TO projects; +ALTER TABLE ONLY identity.user_2fa + ADD CONSTRAINT user_2fa_pk PRIMARY KEY (id); -- --- TOC entry 7819 (class 0 OID 0) --- Dependencies: 272 --- Name: TABLE project_history; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6474 (class 2606 OID 1831984) +-- Name: user_achievement user_achievement_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_history TO projects; +ALTER TABLE ONLY identity.user_achievement + ADD CONSTRAINT user_achievement_pkey PRIMARY KEY (user_id, achievement_type_id); -- --- TOC entry 7821 (class 0 OID 0) --- Dependencies: 273 --- Name: SEQUENCE project_history_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6494 (class 2606 OID 1832032) +-- Name: user_email_xref user_email_xref_pkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_history_id_seq TO projects; +ALTER TABLE ONLY identity.user_email_xref + ADD CONSTRAINT user_email_xref_pkey PRIMARY KEY (user_id, email_id); -- --- TOC entry 7822 (class 0 OID 0) --- Dependencies: 274 --- Name: TABLE project_member_invites; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6479 (class 2606 OID 1831999) +-- Name: user_otp_email user_otp_email_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_member_invites TO projects; +ALTER TABLE ONLY identity.user_otp_email + ADD CONSTRAINT user_otp_email_pk PRIMARY KEY (id); -- --- TOC entry 7824 (class 0 OID 0) --- Dependencies: 275 --- Name: SEQUENCE project_member_invites_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6482 (class 2606 OID 1832005) +-- Name: user_social_login user_social_prkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_member_invites_id_seq TO projects; +ALTER TABLE ONLY identity.user_social_login + ADD CONSTRAINT user_social_prkey PRIMARY KEY (user_id, social_login_provider_id); -- --- TOC entry 7825 (class 0 OID 0) --- Dependencies: 276 --- Name: TABLE project_members; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6485 (class 2606 OID 1832010) +-- Name: user_sso_login user_sso_prkey; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_members TO projects; +ALTER TABLE ONLY identity.user_sso_login + ADD CONSTRAINT user_sso_prkey PRIMARY KEY (user_id, provider_id); -- --- TOC entry 7827 (class 0 OID 0) --- Dependencies: 277 --- Name: SEQUENCE project_members_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6487 (class 2606 OID 1832015) +-- Name: user_status userstatus_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_members_id_seq TO projects; +ALTER TABLE ONLY identity.user_status + ADD CONSTRAINT userstatus_pk PRIMARY KEY (user_id, user_status_type_id); -- --- TOC entry 7828 (class 0 OID 0) --- Dependencies: 278 --- Name: SEQUENCE project_phase_approval_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6491 (class 2606 OID 1832025) +-- Name: user_status_type_lu userstatustypelu_pk; Type: CONSTRAINT; Schema: identity; Owner: identity -- -GRANT ALL ON SEQUENCE projects.project_phase_approval_id_seq TO projects; +ALTER TABLE ONLY identity.user_status_type_lu + ADD CONSTRAINT userstatustypelu_pk PRIMARY KEY (user_status_type_id); -- --- TOC entry 7829 (class 0 OID 0) --- Dependencies: 279 --- Name: TABLE project_phase_approval; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6764 (class 2606 OID 2029900) +-- Name: Country Country_pkey; Type: CONSTRAINT; Schema: lookups; Owner: lookups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phase_approval TO projects; +ALTER TABLE ONLY lookups."Country" + ADD CONSTRAINT "Country_pkey" PRIMARY KEY (id); -- --- TOC entry 7830 (class 0 OID 0) --- Dependencies: 280 --- Name: SEQUENCE project_phase_member_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6766 (class 2606 OID 2029909) +-- Name: Device Device_pkey; Type: CONSTRAINT; Schema: lookups; Owner: lookups -- -GRANT ALL ON SEQUENCE projects.project_phase_member_id_seq TO projects; +ALTER TABLE ONLY lookups."Device" + ADD CONSTRAINT "Device_pkey" PRIMARY KEY (id); -- --- TOC entry 7831 (class 0 OID 0) --- Dependencies: 281 --- Name: TABLE project_phase_member; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6770 (class 2606 OID 2029918) +-- Name: EducationalInstitution EducationalInstitution_pkey; Type: CONSTRAINT; Schema: lookups; Owner: lookups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phase_member TO projects; +ALTER TABLE ONLY lookups."EducationalInstitution" + ADD CONSTRAINT "EducationalInstitution_pkey" PRIMARY KEY (id); -- --- TOC entry 7832 (class 0 OID 0) --- Dependencies: 282 --- Name: TABLE project_phases; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6760 (class 2606 OID 2029891) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: lookups; Owner: lookups -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phases TO projects; +ALTER TABLE ONLY lookups._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7834 (class 0 OID 0) --- Dependencies: 283 --- Name: SEQUENCE project_phases_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6631 (class 2606 OID 2023512) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.project_phases_id_seq TO projects; +ALTER TABLE ONLY members._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); -- --- TOC entry 7835 (class 0 OID 0) --- Dependencies: 284 --- Name: TABLE project_settings; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6749 (class 2606 OID 2023918) +-- Name: displayMode displayMode_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_settings TO projects; +ALTER TABLE ONLY members."displayMode" + ADD CONSTRAINT "displayMode_pkey" PRIMARY KEY (id); -- --- TOC entry 7837 (class 0 OID 0) --- Dependencies: 285 --- Name: SEQUENCE project_settings_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6652 (class 2606 OID 2023634) +-- Name: distributionStats distributionStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.project_settings_id_seq TO projects; +ALTER TABLE ONLY members."distributionStats" + ADD CONSTRAINT "distributionStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7838 (class 0 OID 0) --- Dependencies: 286 --- Name: TABLE project_templates; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6644 (class 2606 OID 2023614) +-- Name: memberAddress memberAddress_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_templates TO projects; +ALTER TABLE ONLY members."memberAddress" + ADD CONSTRAINT "memberAddress_pkey" PRIMARY KEY (id); -- --- TOC entry 7839 (class 0 OID 0) --- Dependencies: 287 --- Name: TABLE project_templates_backup; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6674 (class 2606 OID 2023694) +-- Name: memberCopilotStats memberCopilotStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_templates_backup TO projects; +ALTER TABLE ONLY members."memberCopilotStats" + ADD CONSTRAINT "memberCopilotStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7841 (class 0 OID 0) --- Dependencies: 288 --- Name: SEQUENCE project_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6666 (class 2606 OID 2023673) +-- Name: memberDataScienceHistoryStats memberDataScienceHistoryStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.project_templates_id_seq TO projects; +ALTER TABLE ONLY members."memberDataScienceHistoryStats" + ADD CONSTRAINT "memberDataScienceHistoryStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7842 (class 0 OID 0) --- Dependencies: 289 --- Name: TABLE project_types; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6694 (class 2606 OID 2023744) +-- Name: memberDataScienceStats memberDataScienceStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_types TO projects; +ALTER TABLE ONLY members."memberDataScienceStats" + ADD CONSTRAINT "memberDataScienceStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7843 (class 0 OID 0) --- Dependencies: 290 --- Name: TABLE projects; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6690 (class 2606 OID 2023734) +-- Name: memberDesignStatsItem memberDesignStatsItem_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.projects TO projects; +ALTER TABLE ONLY members."memberDesignStatsItem" + ADD CONSTRAINT "memberDesignStatsItem_pkey" PRIMARY KEY (id); -- --- TOC entry 7845 (class 0 OID 0) --- Dependencies: 291 --- Name: SEQUENCE projects_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6686 (class 2606 OID 2023724) +-- Name: memberDesignStats memberDesignStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.projects_id_seq TO projects; +ALTER TABLE ONLY members."memberDesignStats" + ADD CONSTRAINT "memberDesignStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7846 (class 0 OID 0) --- Dependencies: 292 --- Name: TABLE scope_change_requests; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6663 (class 2606 OID 2023663) +-- Name: memberDevelopHistoryStats memberDevelopHistoryStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.scope_change_requests TO projects; +ALTER TABLE ONLY members."memberDevelopHistoryStats" + ADD CONSTRAINT "memberDevelopHistoryStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7848 (class 0 OID 0) --- Dependencies: 293 --- Name: SEQUENCE scope_change_requests_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6682 (class 2606 OID 2023714) +-- Name: memberDevelopStatsItem memberDevelopStatsItem_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.scope_change_requests_id_seq TO projects; +ALTER TABLE ONLY members."memberDevelopStatsItem" + ADD CONSTRAINT "memberDevelopStatsItem_pkey" PRIMARY KEY (id); -- --- TOC entry 7849 (class 0 OID 0) --- Dependencies: 294 --- Name: TABLE status_history; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6678 (class 2606 OID 2023704) +-- Name: memberDevelopStats memberDevelopStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.status_history TO projects; +ALTER TABLE ONLY members."memberDevelopStats" + ADD CONSTRAINT "memberDevelopStats_pkey" PRIMARY KEY (id); -- --- TOC entry 7851 (class 0 OID 0) --- Dependencies: 295 --- Name: SEQUENCE status_history_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6655 (class 2606 OID 2023642) +-- Name: memberFinancial memberFinancial_pkey; Type: CONSTRAINT; Schema: members; Owner: members -- -GRANT ALL ON SEQUENCE projects.status_history_id_seq TO projects; +ALTER TABLE ONLY members."memberFinancial" + ADD CONSTRAINT "memberFinancial_pkey" PRIMARY KEY ("userId"); -- --- TOC entry 7852 (class 0 OID 0) --- Dependencies: 296 --- Name: TABLE timelines; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 6658 (class 2606 OID 2023653) +-- Name: memberHistoryStats memberHistoryStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberHistoryStats" + ADD CONSTRAINT "memberHistoryStats_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6708 (class 2606 OID 2023784) +-- Name: memberMarathonStats memberMarathonStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberMarathonStats" + ADD CONSTRAINT "memberMarathonStats_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6648 (class 2606 OID 2023624) +-- Name: memberMaxRating memberMaxRating_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberMaxRating" + ADD CONSTRAINT "memberMaxRating_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6758 (class 2606 OID 2023942) +-- Name: memberSkillLevel memberSkillLevel_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkillLevel" + ADD CONSTRAINT "memberSkillLevel_pkey" PRIMARY KEY ("memberSkillId", "skillLevelId"); + + +-- +-- TOC entry 6753 (class 2606 OID 2023934) +-- Name: memberSkill memberSkill_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkill" + ADD CONSTRAINT "memberSkill_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6700 (class 2606 OID 2023764) +-- Name: memberSrmChallengeDetail memberSrmChallengeDetail_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmChallengeDetail" + ADD CONSTRAINT "memberSrmChallengeDetail_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6703 (class 2606 OID 2023774) +-- Name: memberSrmDivisionDetail memberSrmDivisionDetail_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmDivisionDetail" + ADD CONSTRAINT "memberSrmDivisionDetail_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6698 (class 2606 OID 2023754) +-- Name: memberSrmStats memberSrmStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmStats" + ADD CONSTRAINT "memberSrmStats_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6668 (class 2606 OID 2023684) +-- Name: memberStats memberStats_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberStats" + ADD CONSTRAINT "memberStats_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6731 (class 2606 OID 2023854) +-- Name: memberTraitBasicInfo memberTraitBasicInfo_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitBasicInfo" + ADD CONSTRAINT "memberTraitBasicInfo_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6743 (class 2606 OID 2023894) +-- Name: memberTraitCommunity memberTraitCommunity_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitCommunity" + ADD CONSTRAINT "memberTraitCommunity_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6715 (class 2606 OID 2023804) +-- Name: memberTraitDevice memberTraitDevice_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitDevice" + ADD CONSTRAINT "memberTraitDevice_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6727 (class 2606 OID 2023844) +-- Name: memberTraitEducation memberTraitEducation_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitEducation" + ADD CONSTRAINT "memberTraitEducation_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6734 (class 2606 OID 2023864) +-- Name: memberTraitLanguage memberTraitLanguage_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitLanguage" + ADD CONSTRAINT "memberTraitLanguage_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6737 (class 2606 OID 2023874) +-- Name: memberTraitOnboardChecklist memberTraitOnboardChecklist_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitOnboardChecklist" + ADD CONSTRAINT "memberTraitOnboardChecklist_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6740 (class 2606 OID 2023884) +-- Name: memberTraitPersonalization memberTraitPersonalization_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitPersonalization" + ADD CONSTRAINT "memberTraitPersonalization_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6721 (class 2606 OID 2023824) +-- Name: memberTraitServiceProvider memberTraitServiceProvider_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitServiceProvider" + ADD CONSTRAINT "memberTraitServiceProvider_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6718 (class 2606 OID 2023814) +-- Name: memberTraitSoftware memberTraitSoftware_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitSoftware" + ADD CONSTRAINT "memberTraitSoftware_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6724 (class 2606 OID 2023834) +-- Name: memberTraitWork memberTraitWork_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitWork" + ADD CONSTRAINT "memberTraitWork_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6710 (class 2606 OID 2023794) +-- Name: memberTraits memberTraits_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraits" + ADD CONSTRAINT "memberTraits_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6640 (class 2606 OID 2023604) +-- Name: member member_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members.member + ADD CONSTRAINT member_pkey PRIMARY KEY ("userId"); + + +-- +-- TOC entry 6745 (class 2606 OID 2023902) +-- Name: skillCategory skillCategory_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."skillCategory" + ADD CONSTRAINT "skillCategory_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6751 (class 2606 OID 2023926) +-- Name: skillLevel skillLevel_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."skillLevel" + ADD CONSTRAINT "skillLevel_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6747 (class 2606 OID 2023910) +-- Name: skill skill_pkey; Type: CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members.skill + ADD CONSTRAINT skill_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6238 (class 2606 OID 1352653) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); + + +-- +-- TOC entry 6240 (class 2606 OID 1352655) +-- Name: email_logs email_logs_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.email_logs + ADD CONSTRAINT email_logs_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6242 (class 2606 OID 1352657) +-- Name: post_attachments post_attachments_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.post_attachments + ADD CONSTRAINT post_attachments_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6244 (class 2606 OID 1352659) +-- Name: post_user_stats post_user_stats_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.post_user_stats + ADD CONSTRAINT post_user_stats_pkey PRIMARY KEY ("postId", action); + + +-- +-- TOC entry 6246 (class 2606 OID 1352661) +-- Name: posts posts_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.posts + ADD CONSTRAINT posts_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6249 (class 2606 OID 1352663) +-- Name: reference_lookups reference_lookups_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.reference_lookups + ADD CONSTRAINT reference_lookups_pkey PRIMARY KEY (reference); + + +-- +-- TOC entry 6252 (class 2606 OID 1352665) +-- Name: topics topics_pkey; Type: CONSTRAINT; Schema: messages; Owner: topcoder +-- + +ALTER TABLE ONLY messages.topics + ADD CONSTRAINT topics_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6330 (class 2606 OID 1436634) +-- Name: NotificationSettings NotificationSettings_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications."NotificationSettings" + ADD CONSTRAINT "NotificationSettings_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6332 (class 2606 OID 1436636) +-- Name: Notifications Notifications_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications."Notifications" + ADD CONSTRAINT "Notifications_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6335 (class 2606 OID 1436638) +-- Name: ScheduledEvents ScheduledEvents_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications."ScheduledEvents" + ADD CONSTRAINT "ScheduledEvents_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6337 (class 2606 OID 1436640) +-- Name: ServiceSettings ServiceSettings_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications."ServiceSettings" + ADD CONSTRAINT "ServiceSettings_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6339 (class 2606 OID 1436642) +-- Name: bulk_message_user_refs bulk_message_user_refs_bulk_message_id_user_id_key; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications.bulk_message_user_refs + ADD CONSTRAINT bulk_message_user_refs_bulk_message_id_user_id_key UNIQUE (bulk_message_id, user_id); + + +-- +-- TOC entry 6341 (class 2606 OID 1436644) +-- Name: bulk_message_user_refs bulk_message_user_refs_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications.bulk_message_user_refs + ADD CONSTRAINT bulk_message_user_refs_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6343 (class 2606 OID 1436646) +-- Name: bulk_messages bulk_messages_pkey; Type: CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications.bulk_messages + ADD CONSTRAINT bulk_messages_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6082 (class 2606 OID 1324095) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); + + +-- +-- TOC entry 6084 (class 2606 OID 1324097) +-- Name: building_blocks building_blocks_key_uniq; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.building_blocks + ADD CONSTRAINT building_blocks_key_uniq UNIQUE (key); + + +-- +-- TOC entry 6086 (class 2606 OID 1324099) +-- Name: building_blocks building_blocks_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.building_blocks + ADD CONSTRAINT building_blocks_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6158 (class 2606 OID 1332742) +-- Name: copilot_applications copilot_applications_pkey; Type: CONSTRAINT; Schema: projects; Owner: projects +-- + +ALTER TABLE ONLY projects.copilot_applications + ADD CONSTRAINT copilot_applications_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6088 (class 2606 OID 1324101) +-- Name: copilot_opportunities copilot_opportunities_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_opportunities + ADD CONSTRAINT copilot_opportunities_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6090 (class 2606 OID 1324103) +-- Name: copilot_requests copilot_requests_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_requests + ADD CONSTRAINT copilot_requests_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6092 (class 2606 OID 1324105) +-- Name: customer_payments customer_payments_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.customer_payments + ADD CONSTRAINT customer_payments_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6094 (class 2606 OID 1324107) +-- Name: form form_key_version_revision; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.form + ADD CONSTRAINT form_key_version_revision UNIQUE (key, version, revision); + + +-- +-- TOC entry 6098 (class 2606 OID 1324109) +-- Name: milestones milestones_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.milestones + ADD CONSTRAINT milestones_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6100 (class 2606 OID 1324111) +-- Name: phase_products phase_products_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.phase_products + ADD CONSTRAINT phase_products_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6102 (class 2606 OID 1324113) +-- Name: phase_work_streams phase_work_streams_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.phase_work_streams + ADD CONSTRAINT phase_work_streams_pkey PRIMARY KEY ("workStreamId", "phaseId"); + + +-- +-- TOC entry 6104 (class 2606 OID 1324115) +-- Name: plan_config plan_config_key_version_revision; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.plan_config + ADD CONSTRAINT plan_config_key_version_revision UNIQUE (key, version, revision); + + +-- +-- TOC entry 6106 (class 2606 OID 1324117) +-- Name: price_config price_config_key_version_revision; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.price_config + ADD CONSTRAINT price_config_key_version_revision UNIQUE (key, version, revision); + + +-- +-- TOC entry 6108 (class 2606 OID 1324119) +-- Name: product_categories product_categories_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.product_categories + ADD CONSTRAINT product_categories_pkey PRIMARY KEY (key); + + +-- +-- TOC entry 6096 (class 2606 OID 1324121) +-- Name: milestone_templates product_milestone_templates_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.milestone_templates + ADD CONSTRAINT product_milestone_templates_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6110 (class 2606 OID 1324123) +-- Name: product_templates product_templates_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.product_templates + ADD CONSTRAINT product_templates_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6112 (class 2606 OID 1324125) +-- Name: project_attachments project_attachments_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_attachments + ADD CONSTRAINT project_attachments_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6114 (class 2606 OID 1324127) +-- Name: project_estimation_items project_estimation_items_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_estimation_items + ADD CONSTRAINT project_estimation_items_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6116 (class 2606 OID 1324129) +-- Name: project_estimations project_estimations_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_estimations + ADD CONSTRAINT project_estimations_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6118 (class 2606 OID 1324131) +-- Name: project_history project_history_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_history + ADD CONSTRAINT project_history_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6121 (class 2606 OID 1324133) +-- Name: project_member_invites project_member_invites_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_member_invites + ADD CONSTRAINT project_member_invites_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6124 (class 2606 OID 1324135) +-- Name: project_members project_members_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_members + ADD CONSTRAINT project_members_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6128 (class 2606 OID 1324137) +-- Name: project_phase_approval project_phase_approval_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phase_approval + ADD CONSTRAINT project_phase_approval_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6130 (class 2606 OID 1324139) +-- Name: project_phase_member project_phase_member_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phase_member + ADD CONSTRAINT project_phase_member_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6132 (class 2606 OID 1324141) +-- Name: project_phases project_phases_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phases + ADD CONSTRAINT project_phases_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6134 (class 2606 OID 1324143) +-- Name: project_settings project_settings_key_project_id; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_settings + ADD CONSTRAINT project_settings_key_project_id UNIQUE (key, "projectId"); + + +-- +-- TOC entry 6136 (class 2606 OID 1324145) +-- Name: project_settings project_settings_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_settings + ADD CONSTRAINT project_settings_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6138 (class 2606 OID 1324147) +-- Name: project_templates project_templates_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_templates + ADD CONSTRAINT project_templates_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6140 (class 2606 OID 1324149) +-- Name: project_types project_types_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_types + ADD CONSTRAINT project_types_pkey PRIMARY KEY (key); + + +-- +-- TOC entry 6146 (class 2606 OID 1324151) +-- Name: projects projects_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.projects + ADD CONSTRAINT projects_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6150 (class 2606 OID 1324153) +-- Name: scope_change_requests scope_change_requests_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.scope_change_requests + ADD CONSTRAINT scope_change_requests_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6152 (class 2606 OID 1324155) +-- Name: status_history status_history_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.status_history + ADD CONSTRAINT status_history_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6154 (class 2606 OID 1324157) +-- Name: timelines timelines_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.timelines + ADD CONSTRAINT timelines_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6156 (class 2606 OID 1324159) +-- Name: work_streams work_streams_pkey; Type: CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.work_streams + ADD CONSTRAINT work_streams_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6628 (class 2606 OID 2015726) +-- Name: ResourceRolePhaseDependency ResourceRolePhaseDependency_pkey; Type: CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources."ResourceRolePhaseDependency" + ADD CONSTRAINT "ResourceRolePhaseDependency_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6616 (class 2606 OID 2015710) +-- Name: ResourceRole ResourceRole_pkey; Type: CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources."ResourceRole" + ADD CONSTRAINT "ResourceRole_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6620 (class 2606 OID 2015718) +-- Name: Resource Resource_pkey; Type: CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources."Resource" + ADD CONSTRAINT "Resource_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6614 (class 2606 OID 2015686) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6772 (class 2606 OID 2033645) +-- Name: _prisma_migrations _prisma_migrations_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews._prisma_migrations + ADD CONSTRAINT _prisma_migrations_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6910 (class 2606 OID 2034263) +-- Name: aiWorkflowRunItemComment aiWorkflowRunItemComment_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItemComment" + ADD CONSTRAINT "aiWorkflowRunItemComment_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6908 (class 2606 OID 2034254) +-- Name: aiWorkflowRunItem aiWorkflowRunItem_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItem" + ADD CONSTRAINT "aiWorkflowRunItem_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6904 (class 2606 OID 2034244) +-- Name: aiWorkflowRun aiWorkflowRun_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRun" + ADD CONSTRAINT "aiWorkflowRun_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6902 (class 2606 OID 2034236) +-- Name: aiWorkflow aiWorkflow_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflow" + ADD CONSTRAINT "aiWorkflow_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6838 (class 2606 OID 2033815) +-- Name: appealResponse appealResponse_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."appealResponse" + ADD CONSTRAINT "appealResponse_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6829 (class 2606 OID 2033806) +-- Name: appeal appeal_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.appeal + ADD CONSTRAINT appeal_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6843 (class 2606 OID 2033823) +-- Name: challengeResult challengeResult_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."challengeResult" + ADD CONSTRAINT "challengeResult_pkey" PRIMARY KEY ("challengeId", "userId"); + + +-- +-- TOC entry 6849 (class 2606 OID 2033832) +-- Name: contactRequest contactRequest_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."contactRequest" + ADD CONSTRAINT "contactRequest_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6893 (class 2606 OID 2034200) +-- Name: gitWebhookLog gitWebhookLog_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."gitWebhookLog" + ADD CONSTRAINT "gitWebhookLog_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6899 (class 2606 OID 2034227) +-- Name: llmModel llmModel_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."llmModel" + ADD CONSTRAINT "llmModel_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6896 (class 2606 OID 2034218) +-- Name: llmProvider llmProvider_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."llmProvider" + ADD CONSTRAINT "llmProvider_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6888 (class 2606 OID 2034161) +-- Name: resourceSubmission resourceSubmission_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."resourceSubmission" + ADD CONSTRAINT "resourceSubmission_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6861 (class 2606 OID 2034004) +-- Name: reviewApplication reviewApplication_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewApplication" + ADD CONSTRAINT "reviewApplication_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6912 (class 2606 OID 2034340) +-- Name: reviewAudit reviewAudit_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewAudit" + ADD CONSTRAINT "reviewAudit_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6820 (class 2606 OID 2033797) +-- Name: reviewItemComment reviewItemComment_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewItemComment" + ADD CONSTRAINT "reviewItemComment_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6815 (class 2606 OID 2033787) +-- Name: reviewItem reviewItem_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewItem" + ADD CONSTRAINT "reviewItem_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6855 (class 2606 OID 2033994) +-- Name: reviewOpportunity reviewOpportunity_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewOpportunity" + ADD CONSTRAINT "reviewOpportunity_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6869 (class 2606 OID 2034043) +-- Name: reviewSummation reviewSummation_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewSummation" + ADD CONSTRAINT "reviewSummation_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6867 (class 2606 OID 2034034) +-- Name: reviewType reviewType_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewType" + ADD CONSTRAINT "reviewType_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6928 (class 2606 OID 2066973) +-- Name: review_pending_summary review_pending_summary_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.review_pending_summary + ADD CONSTRAINT review_pending_summary_pkey PRIMARY KEY ("resourceId"); + + +-- +-- TOC entry 6801 (class 2606 OID 2034019) +-- Name: review review_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.review + ADD CONSTRAINT review_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6783 (class 2606 OID 2033750) +-- Name: scorecardGroup scorecardGroup_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardGroup" + ADD CONSTRAINT "scorecardGroup_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6793 (class 2606 OID 2033768) +-- Name: scorecardQuestion scorecardQuestion_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardQuestion" + ADD CONSTRAINT "scorecardQuestion_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6788 (class 2606 OID 2033759) +-- Name: scorecardSection scorecardSection_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardSection" + ADD CONSTRAINT "scorecardSection_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6778 (class 2606 OID 2033689) +-- Name: scorecard scorecard_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.scorecard + ADD CONSTRAINT scorecard_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6917 (class 2606 OID 2034363) +-- Name: submissionAccessAudit submissionAccessAudit_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."submissionAccessAudit" + ADD CONSTRAINT "submissionAccessAudit_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6880 (class 2606 OID 2034136) +-- Name: submission submission_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.submission + ADD CONSTRAINT submission_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6884 (class 2606 OID 2034152) +-- Name: upload upload_pkey; Type: CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.upload + ADD CONSTRAINT upload_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6371 (class 2606 OID 1477242) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); + + +-- +-- TOC entry 6379 (class 2606 OID 1477244) +-- Name: prod_challenge_emsi_skills challenge_emsi_skills_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.prod_challenge_emsi_skills + ADD CONSTRAINT challenge_emsi_skills_pkey PRIMARY KEY (emsi_skill_id, challenge_id); + + +-- +-- TOC entry 6373 (class 2606 OID 1477246) +-- Name: event event_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.event + ADD CONSTRAINT event_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6381 (class 2606 OID 1477248) +-- Name: prod_job_emsi_skills job_emsi_skills_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.prod_job_emsi_skills + ADD CONSTRAINT job_emsi_skills_pkey PRIMARY KEY (emsi_skill_id, job_id); + + +-- +-- TOC entry 6377 (class 2606 OID 1477250) +-- Name: legacy_skill_map pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.legacy_skill_map + ADD CONSTRAINT pkey PRIMARY KEY (legacy_v5_id, skill_id); + + +-- +-- TOC entry 6383 (class 2606 OID 1477252) +-- Name: prod_user_emsi_skills prod_user_emsi_skills_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.prod_user_emsi_skills + ADD CONSTRAINT prod_user_emsi_skills_pkey PRIMARY KEY (skill_id, user_id); + + +-- +-- TOC entry 6392 (class 2606 OID 1477254) +-- Name: skill_category skill_category_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_category + ADD CONSTRAINT skill_category_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6399 (class 2606 OID 1477256) +-- Name: skill_event skill_event_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT skill_event_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6403 (class 2606 OID 1477258) +-- Name: skill_event_type skill_event_type_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event_type + ADD CONSTRAINT skill_event_type_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6388 (class 2606 OID 1477260) +-- Name: skill skill_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill + ADD CONSTRAINT skill_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6407 (class 2606 OID 1477262) +-- Name: skill_replacement skill_replacement_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_replacement + ADD CONSTRAINT skill_replacement_pkey PRIMARY KEY (skill_id); + + +-- +-- TOC entry 6409 (class 2606 OID 1477264) +-- Name: source_type source_type_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.source_type + ADD CONSTRAINT source_type_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6385 (class 2606 OID 1477266) +-- Name: prod_v5_skills temp_prod_v5_skills_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.prod_v5_skills + ADD CONSTRAINT temp_prod_v5_skills_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6394 (class 2606 OID 1477268) +-- Name: skill_category uniq_category_name; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_category + ADD CONSTRAINT uniq_category_name UNIQUE (name); + + +-- +-- TOC entry 6405 (class 2606 OID 1477270) +-- Name: skill_event_type uniq_event_type_name; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event_type + ADD CONSTRAINT uniq_event_type_name UNIQUE (name); + + +-- +-- TOC entry 6375 (class 2606 OID 1477272) +-- Name: event uniq_payload_hash; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.event + ADD CONSTRAINT uniq_payload_hash UNIQUE (payload_hash); + + +-- +-- TOC entry 6423 (class 2606 OID 1477274) +-- Name: user_skill_level uniq_skill_level_name; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill_level + ADD CONSTRAINT uniq_skill_level_name UNIQUE (name); + + +-- +-- TOC entry 6390 (class 2606 OID 1477276) +-- Name: skill uniq_skill_name; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill + ADD CONSTRAINT uniq_skill_name UNIQUE (name); + + +-- +-- TOC entry 6401 (class 2606 OID 1477278) +-- Name: skill_event uniq_skill_source_id; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT uniq_skill_source_id UNIQUE (skill_id, skill_event_type_id, source_id, user_id); + + +-- +-- TOC entry 6411 (class 2606 OID 1477280) +-- Name: source_type uniq_source_type_name; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.source_type + ADD CONSTRAINT uniq_source_type_name UNIQUE (name); + + +-- +-- TOC entry 6415 (class 2606 OID 1477282) +-- Name: user_skill uniq_user_skill_type; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill + ADD CONSTRAINT uniq_user_skill_type UNIQUE (user_id, skill_id, user_skill_level_id); + + +-- +-- TOC entry 6427 (class 2606 OID 1477284) +-- Name: work_skill uniq_work_skill; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.work_skill + ADD CONSTRAINT uniq_work_skill UNIQUE (work_id, work_type_id, skill_id); + + +-- +-- TOC entry 6419 (class 2606 OID 1477286) +-- Name: user_skill_display_mode user_skill_display_mode_name_key; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill_display_mode + ADD CONSTRAINT user_skill_display_mode_name_key UNIQUE (name); + + +-- +-- TOC entry 6421 (class 2606 OID 1477288) +-- Name: user_skill_display_mode user_skill_display_mode_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill_display_mode + ADD CONSTRAINT user_skill_display_mode_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6425 (class 2606 OID 1477290) +-- Name: user_skill_level user_skill_level_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill_level + ADD CONSTRAINT user_skill_level_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6417 (class 2606 OID 1477292) +-- Name: user_skill user_skill_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill + ADD CONSTRAINT user_skill_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6429 (class 2606 OID 1477294) +-- Name: work_skill work_skill_pkey; Type: CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.work_skill + ADD CONSTRAINT work_skill_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6369 (class 2606 OID 1475983) +-- Name: SequelizeMeta SequelizeMeta_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas."SequelizeMeta" + ADD CONSTRAINT "SequelizeMeta_pkey" PRIMARY KEY (name); + + +-- +-- TOC entry 6345 (class 2606 OID 1475521) +-- Name: interviews interviews_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.interviews + ADD CONSTRAINT interviews_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6347 (class 2606 OID 1475523) +-- Name: job_candidates job_candidates_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.job_candidates + ADD CONSTRAINT job_candidates_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6349 (class 2606 OID 1475525) +-- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.jobs + ADD CONSTRAINT jobs_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6353 (class 2606 OID 1475527) +-- Name: payment_schedulers payment_schedulers_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.payment_schedulers + ADD CONSTRAINT payment_schedulers_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6351 (class 2606 OID 1475529) +-- Name: legacy_skill_map pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.legacy_skill_map + ADD CONSTRAINT pkey PRIMARY KEY (legacy_v5_id, skill_id); + + +-- +-- TOC entry 6355 (class 2606 OID 1475531) +-- Name: resource_bookings resource_bookings_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.resource_bookings + ADD CONSTRAINT resource_bookings_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6357 (class 2606 OID 1475533) +-- Name: role_search_requests role_search_requests_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.role_search_requests + ADD CONSTRAINT role_search_requests_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6360 (class 2606 OID 1475535) +-- Name: roles roles_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.roles + ADD CONSTRAINT roles_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6362 (class 2606 OID 1475537) +-- Name: user_meeting_settings user_meeting_settings_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.user_meeting_settings + ADD CONSTRAINT user_meeting_settings_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6364 (class 2606 OID 1475539) +-- Name: work_period_payments work_period_payments_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.work_period_payments + ADD CONSTRAINT work_period_payments_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6366 (class 2606 OID 1475541) +-- Name: work_periods work_periods_pkey; Type: CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.work_periods + ADD CONSTRAINT work_periods_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6299 (class 2606 OID 1363482) +-- Name: DocusignEnvelope DocusignEnvelope_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."DocusignEnvelope" + ADD CONSTRAINT "DocusignEnvelope_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6301 (class 2606 OID 1363484) +-- Name: TermsForResource TermsForResource_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsForResource" + ADD CONSTRAINT "TermsForResource_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6308 (class 2606 OID 1363486) +-- Name: TermsOfUseAgreeabilityType TermsOfUseAgreeabilityType_legacyId_key; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseAgreeabilityType" + ADD CONSTRAINT "TermsOfUseAgreeabilityType_legacyId_key" UNIQUE ("legacyId"); + + +-- +-- TOC entry 6310 (class 2606 OID 1363488) +-- Name: TermsOfUseAgreeabilityType TermsOfUseAgreeabilityType_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseAgreeabilityType" + ADD CONSTRAINT "TermsOfUseAgreeabilityType_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6312 (class 2606 OID 1363490) +-- Name: TermsOfUseDependency TermsOfUseDependency_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseDependency" + ADD CONSTRAINT "TermsOfUseDependency_pkey" PRIMARY KEY ("dependencyTermsOfUseId", "dependentTermsOfUseId"); + + +-- +-- TOC entry 6316 (class 2606 OID 1363492) +-- Name: TermsOfUseDocusignTemplateXref TermsOfUseDocusignTemplateXref_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseDocusignTemplateXref" + ADD CONSTRAINT "TermsOfUseDocusignTemplateXref_pkey" PRIMARY KEY ("termsOfUseId"); + + +-- +-- TOC entry 6304 (class 2606 OID 1363494) +-- Name: TermsOfUse TermsOfUse_legacyId_key; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUse" + ADD CONSTRAINT "TermsOfUse_legacyId_key" UNIQUE ("legacyId"); + + +-- +-- TOC entry 6306 (class 2606 OID 1363496) +-- Name: TermsOfUse TermsOfUse_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUse" + ADD CONSTRAINT "TermsOfUse_pkey" PRIMARY KEY (id); + + +-- +-- TOC entry 6320 (class 2606 OID 1363498) +-- Name: UserTermsOfUseBanXref UserTermsOfUseBanXref_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."UserTermsOfUseBanXref" + ADD CONSTRAINT "UserTermsOfUseBanXref_pkey" PRIMARY KEY ("userId", "termsOfUseId"); + + +-- +-- TOC entry 6324 (class 2606 OID 1363500) +-- Name: UserTermsOfUseXref UserTermsOfUseXref_pkey; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."UserTermsOfUseXref" + ADD CONSTRAINT "UserTermsOfUseXref_pkey" PRIMARY KEY ("userId", "termsOfUseId"); + + +-- +-- TOC entry 6318 (class 2606 OID 1363502) +-- Name: TermsOfUseType termsofusetype_pk; Type: CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseType" + ADD CONSTRAINT termsofusetype_pk PRIMARY KEY (id); + + +-- +-- TOC entry 6254 (class 2606 OID 1352769) +-- Name: events events_pkey; Type: CONSTRAINT; Schema: timeline; Owner: topcoder +-- + +ALTER TABLE ONLY timeline.events + ADD CONSTRAINT events_pkey PRIMARY KEY (id); + + +-- +-- TOC entry 6255 (class 1259 OID 1363247) +-- Name: CertificationCategory_category_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "CertificationCategory_category_key" ON academy."CertificationCategory" USING btree (category); + + +-- +-- TOC entry 6258 (class 1259 OID 1363248) +-- Name: CertificationEnrollments_completionUuid; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "CertificationEnrollments_completionUuid" ON academy."CertificationEnrollments" USING btree ("completionUuid"); + + +-- +-- TOC entry 6282 (class 1259 OID 1363249) +-- Name: FreeCodeCampCertification_fccId_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "FreeCodeCampCertification_fccId_key" ON academy."FreeCodeCampCertification" USING btree ("fccId"); + + +-- +-- TOC entry 6285 (class 1259 OID 1363250) +-- Name: FreeCodeCampCertification_title_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "FreeCodeCampCertification_title_key" ON academy."FreeCodeCampCertification" USING btree (title); + + +-- +-- TOC entry 6286 (class 1259 OID 1363251) +-- Name: ResourceProvider_name_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "ResourceProvider_name_key" ON academy."ResourceProvider" USING btree (name); + + +-- +-- TOC entry 6293 (class 1259 OID 1363252) +-- Name: TopcoderCertification_title_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX "TopcoderCertification_title_key" ON academy."TopcoderCertification" USING btree (title); + + +-- +-- TOC entry 6261 (class 1259 OID 1363253) +-- Name: certification_enrollments_topcoder_certification_id_user_id; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX certification_enrollments_topcoder_certification_id_user_id ON academy."CertificationEnrollments" USING btree ("topcoderCertificationId", "userId"); + + +-- +-- TOC entry 6270 (class 1259 OID 1363254) +-- Name: fcc_certification_progresses_fcc_certification_id_user_id; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX fcc_certification_progresses_fcc_certification_id_user_id ON academy."FccCertificationProgresses" USING btree ("fccCertificationId", "userId"); + + +-- +-- TOC entry 6281 (class 1259 OID 1363255) +-- Name: fcc_modules_key; Type: INDEX; Schema: academy; Owner: topcoder +-- + +CREATE UNIQUE INDEX fcc_modules_key ON academy."FccModules" USING btree (key); + + +-- +-- TOC entry 6926 (class 1259 OID 2061249) +-- Name: idx_autopilot_actions_challenge; Type: INDEX; Schema: autopilot; Owner: autopilot +-- + +CREATE INDEX idx_autopilot_actions_challenge ON autopilot.actions USING btree ("challengeId"); + + +-- +-- TOC entry 6952 (class 1259 OID 2070005) +-- Name: BillingAccountAccess_billingAccountId_userId_key; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE UNIQUE INDEX "BillingAccountAccess_billingAccountId_userId_key" ON "billing-accounts"."BillingAccountAccess" USING btree ("billingAccountId", "userId"); + + +-- +-- TOC entry 6955 (class 1259 OID 2069969) +-- Name: BillingAccountAccess_userId_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "BillingAccountAccess_userId_idx" ON "billing-accounts"."BillingAccountAccess" USING btree ("userId"); + + +-- +-- TOC entry 6938 (class 1259 OID 2069961) +-- Name: BillingAccount_clientId_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "BillingAccount_clientId_idx" ON "billing-accounts"."BillingAccount" USING btree ("clientId"); + + +-- +-- TOC entry 6939 (class 1259 OID 2069964) +-- Name: BillingAccount_createdBy_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "BillingAccount_createdBy_idx" ON "billing-accounts"."BillingAccount" USING btree ("createdBy"); + + +-- +-- TOC entry 6942 (class 1259 OID 2069963) +-- Name: BillingAccount_startDate_endDate_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "BillingAccount_startDate_endDate_idx" ON "billing-accounts"."BillingAccount" USING btree ("startDate", "endDate"); + + +-- +-- TOC entry 6943 (class 1259 OID 2069962) +-- Name: BillingAccount_status_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "BillingAccount_status_idx" ON "billing-accounts"."BillingAccount" USING btree (status); + + +-- +-- TOC entry 6932 (class 1259 OID 2069958) +-- Name: Client_codeName_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "Client_codeName_idx" ON "billing-accounts"."Client" USING btree ("codeName"); + + +-- +-- TOC entry 6933 (class 1259 OID 2069957) +-- Name: Client_name_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "Client_name_idx" ON "billing-accounts"."Client" USING btree (name); + + +-- +-- TOC entry 6936 (class 1259 OID 2069960) +-- Name: Client_startDate_endDate_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "Client_startDate_endDate_idx" ON "billing-accounts"."Client" USING btree ("startDate", "endDate"); + + +-- +-- TOC entry 6937 (class 1259 OID 2069959) +-- Name: Client_status_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "Client_status_idx" ON "billing-accounts"."Client" USING btree (status); + + +-- +-- TOC entry 6948 (class 1259 OID 2070007) +-- Name: ConsumedAmount_billingAccountId_challengeId_key; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE UNIQUE INDEX "ConsumedAmount_billingAccountId_challengeId_key" ON "billing-accounts"."ConsumedAmount" USING btree ("billingAccountId", "challengeId"); + + +-- +-- TOC entry 6949 (class 1259 OID 2070006) +-- Name: ConsumedAmount_billingAccountId_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "ConsumedAmount_billingAccountId_idx" ON "billing-accounts"."ConsumedAmount" USING btree ("billingAccountId"); + + +-- +-- TOC entry 6944 (class 1259 OID 2070009) +-- Name: LockedAmount_billingAccountId_challengeId_key; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE UNIQUE INDEX "LockedAmount_billingAccountId_challengeId_key" ON "billing-accounts"."LockedAmount" USING btree ("billingAccountId", "challengeId"); + + +-- +-- TOC entry 6945 (class 1259 OID 2070008) +-- Name: LockedAmount_billingAccountId_idx; Type: INDEX; Schema: billing-accounts; Owner: billingaccounts +-- + +CREATE INDEX "LockedAmount_billingAccountId_idx" ON "billing-accounts"."LockedAmount" USING btree ("billingAccountId"); + + +-- +-- TOC entry 6538 (class 1259 OID 2005104) +-- Name: AuditLog_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "AuditLog_challengeId_idx" ON challenges."AuditLog" USING btree ("challengeId"); + + +-- +-- TOC entry 6558 (class 1259 OID 2005107) +-- Name: ChallengeBilling_challengeId_key; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE UNIQUE INDEX "ChallengeBilling_challengeId_key" ON challenges."ChallengeBilling" USING btree ("challengeId"); + + +-- +-- TOC entry 6574 (class 1259 OID 2005111) +-- Name: ChallengeConstraint_challengeId_key; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE UNIQUE INDEX "ChallengeConstraint_challengeId_key" ON challenges."ChallengeConstraint" USING btree ("challengeId"); + + +-- +-- TOC entry 6569 (class 1259 OID 2005110) +-- Name: ChallengeDiscussion_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeDiscussion_challengeId_idx" ON challenges."ChallengeDiscussion" USING btree ("challengeId"); + + +-- +-- TOC entry 6566 (class 1259 OID 2005109) +-- Name: ChallengeEvent_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeEvent_challengeId_idx" ON challenges."ChallengeEvent" USING btree ("challengeId"); + + +-- +-- TOC entry 6563 (class 1259 OID 2005108) +-- Name: ChallengeLegacy_challengeId_key; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE UNIQUE INDEX "ChallengeLegacy_challengeId_key" ON challenges."ChallengeLegacy" USING btree ("challengeId"); + + +-- +-- TOC entry 6543 (class 1259 OID 2005105) +-- Name: ChallengeMetadata_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeMetadata_challengeId_idx" ON challenges."ChallengeMetadata" USING btree ("challengeId"); + + +-- +-- TOC entry 6587 (class 1259 OID 2005114) +-- Name: ChallengePhaseConstraint_challengePhaseId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePhaseConstraint_challengePhaseId_idx" ON challenges."ChallengePhaseConstraint" USING btree ("challengePhaseId"); + + +-- +-- TOC entry 6580 (class 1259 OID 2005113) +-- Name: ChallengePhase_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePhase_challengeId_idx" ON challenges."ChallengePhase" USING btree ("challengeId"); + + +-- +-- TOC entry 6581 (class 1259 OID 2108445) +-- Name: ChallengePhase_challengeId_isOpen_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePhase_challengeId_isOpen_idx" ON challenges."ChallengePhase" USING btree ("challengeId", "isOpen"); + + +-- +-- TOC entry 6582 (class 1259 OID 2108446) +-- Name: ChallengePhase_challengeId_name_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePhase_challengeId_name_idx" ON challenges."ChallengePhase" USING btree ("challengeId", name); + + +-- +-- TOC entry 6590 (class 1259 OID 2005115) +-- Name: ChallengePrizeSet_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePrizeSet_challengeId_idx" ON challenges."ChallengePrizeSet" USING btree ("challengeId"); + + +-- +-- TOC entry 6591 (class 1259 OID 2108447) +-- Name: ChallengePrizeSet_challengeId_type_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengePrizeSet_challengeId_type_idx" ON challenges."ChallengePrizeSet" USING btree ("challengeId", type); + + +-- +-- TOC entry 6602 (class 1259 OID 2005259) +-- Name: ChallengeReviewer_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeReviewer_challengeId_idx" ON challenges."ChallengeReviewer" USING btree ("challengeId"); + + +-- +-- TOC entry 6603 (class 1259 OID 2108448) +-- Name: ChallengeReviewer_challengeId_phaseId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeReviewer_challengeId_phaseId_idx" ON challenges."ChallengeReviewer" USING btree ("challengeId", "phaseId"); + + +-- +-- TOC entry 6604 (class 1259 OID 2005260) +-- Name: ChallengeReviewer_phaseId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeReviewer_phaseId_idx" ON challenges."ChallengeReviewer" USING btree ("phaseId"); + + +-- +-- TOC entry 6537 (class 1259 OID 2005103) +-- Name: ChallengeTimelineTemplate_typeId_trackId_timelineTemplateId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeTimelineTemplate_typeId_trackId_timelineTemplateId_idx" ON challenges."ChallengeTimelineTemplate" USING btree ("typeId", "trackId", "timelineTemplateId"); + + +-- +-- TOC entry 6532 (class 1259 OID 2005102) +-- Name: ChallengeTrack_legacyId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeTrack_legacyId_idx" ON challenges."ChallengeTrack" USING btree ("legacyId"); + + +-- +-- TOC entry 6529 (class 1259 OID 2005101) +-- Name: ChallengeType_abbreviation_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeType_abbreviation_idx" ON challenges."ChallengeType" USING btree (abbreviation); + + +-- +-- TOC entry 6550 (class 1259 OID 2005106) +-- Name: ChallengeWinner_challengeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeWinner_challengeId_idx" ON challenges."ChallengeWinner" USING btree ("challengeId"); + + +-- +-- TOC entry 6551 (class 1259 OID 2108449) +-- Name: ChallengeWinner_challengeId_type_placement_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "ChallengeWinner_challengeId_type_placement_idx" ON challenges."ChallengeWinner" USING btree ("challengeId", type, placement); + + +-- +-- TOC entry 6508 (class 1259 OID 2005261) +-- Name: Challenge_createdAt_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_createdAt_idx" ON challenges."Challenge" USING btree ("createdAt"); + + +-- +-- TOC entry 6509 (class 1259 OID 2005270) +-- Name: Challenge_endDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_endDate_idx" ON challenges."Challenge" USING btree ("endDate"); + + +-- +-- TOC entry 6510 (class 1259 OID 2108443) +-- Name: Challenge_legacyId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_legacyId_idx" ON challenges."Challenge" USING btree ("legacyId"); + + +-- +-- TOC entry 6513 (class 1259 OID 2005099) +-- Name: Challenge_projectId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_projectId_idx" ON challenges."Challenge" USING btree ("projectId"); + + +-- +-- TOC entry 6514 (class 1259 OID 2108444) +-- Name: Challenge_projectId_status_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_projectId_status_idx" ON challenges."Challenge" USING btree ("projectId", status); + + +-- +-- TOC entry 6515 (class 1259 OID 2005268) +-- Name: Challenge_registrationEndDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_registrationEndDate_idx" ON challenges."Challenge" USING btree ("registrationEndDate"); + + +-- +-- TOC entry 6516 (class 1259 OID 2005267) +-- Name: Challenge_registrationStartDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_registrationStartDate_idx" ON challenges."Challenge" USING btree ("registrationStartDate"); + + +-- +-- TOC entry 6517 (class 1259 OID 2005269) +-- Name: Challenge_startDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_startDate_idx" ON challenges."Challenge" USING btree ("startDate"); + + +-- +-- TOC entry 6518 (class 1259 OID 2005100) +-- Name: Challenge_status_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_status_idx" ON challenges."Challenge" USING btree (status); + + +-- +-- TOC entry 6519 (class 1259 OID 2108441) +-- Name: Challenge_status_startDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_status_startDate_idx" ON challenges."Challenge" USING btree (status, "startDate"); + + +-- +-- TOC entry 6520 (class 1259 OID 2005266) +-- Name: Challenge_submissionEndDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_submissionEndDate_idx" ON challenges."Challenge" USING btree ("submissionEndDate"); + + +-- +-- TOC entry 6521 (class 1259 OID 2005265) +-- Name: Challenge_submissionStartDate_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_submissionStartDate_idx" ON challenges."Challenge" USING btree ("submissionStartDate"); + + +-- +-- TOC entry 6522 (class 1259 OID 2005264) +-- Name: Challenge_trackId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_trackId_idx" ON challenges."Challenge" USING btree ("trackId"); + + +-- +-- TOC entry 6523 (class 1259 OID 2108442) +-- Name: Challenge_trackId_typeId_status_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_trackId_typeId_status_idx" ON challenges."Challenge" USING btree ("trackId", "typeId", status); + + +-- +-- TOC entry 6524 (class 1259 OID 2005263) +-- Name: Challenge_typeId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_typeId_idx" ON challenges."Challenge" USING btree ("typeId"); + + +-- +-- TOC entry 6525 (class 1259 OID 2005262) +-- Name: Challenge_updatedAt_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "Challenge_updatedAt_idx" ON challenges."Challenge" USING btree ("updatedAt"); + + +-- +-- TOC entry 6608 (class 1259 OID 2005332) +-- Name: DefaultChallengeReviewer_phaseId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "DefaultChallengeReviewer_phaseId_idx" ON challenges."DefaultChallengeReviewer" USING btree ("phaseId"); + + +-- +-- TOC entry 6611 (class 1259 OID 2005301) +-- Name: DefaultChallengeReviewer_typeId_trackId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "DefaultChallengeReviewer_typeId_trackId_idx" ON challenges."DefaultChallengeReviewer" USING btree ("typeId", "trackId"); + + +-- +-- TOC entry 6612 (class 1259 OID 2005347) +-- Name: DefaultChallengeReviewer_typeId_trackId_timelineTemplateId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "DefaultChallengeReviewer_typeId_trackId_timelineTemplateId_idx" ON challenges."DefaultChallengeReviewer" USING btree ("typeId", "trackId", "timelineTemplateId"); + + +-- +-- TOC entry 6577 (class 1259 OID 2005112) +-- Name: Phase_name_key; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE UNIQUE INDEX "Phase_name_key" ON challenges."Phase" USING btree (name); + + +-- +-- TOC entry 6600 (class 1259 OID 2005117) +-- Name: TimelineTemplatePhase_timelineTemplateId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "TimelineTemplatePhase_timelineTemplateId_idx" ON challenges."TimelineTemplatePhase" USING btree ("timelineTemplateId"); + + +-- +-- TOC entry 6601 (class 1259 OID 2108450) +-- Name: TimelineTemplatePhase_timelineTemplateId_phaseId_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX "TimelineTemplatePhase_timelineTemplateId_phaseId_idx" ON challenges."TimelineTemplatePhase" USING btree ("timelineTemplateId", "phaseId"); + + +-- +-- TOC entry 6595 (class 1259 OID 2005116) +-- Name: TimelineTemplate_name_key; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE UNIQUE INDEX "TimelineTemplate_name_key" ON challenges."TimelineTemplate" USING btree (name); + + +-- +-- TOC entry 6526 (class 1259 OID 2110947) +-- Name: challenge_groups_gin_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_groups_gin_idx ON challenges."Challenge" USING gin (groups); + + +-- +-- TOC entry 6527 (class 1259 OID 2067393) +-- Name: challenge_past_status_end_date_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_past_status_end_date_idx ON challenges."Challenge" USING btree ("endDate" DESC NULLS LAST, "createdAt" DESC NULLS LAST, name) WHERE (status = ANY (ARRAY['COMPLETED'::challenges."ChallengeStatusEnum", 'CANCELLED'::challenges."ChallengeStatusEnum", 'CANCELLED_FAILED_REVIEW'::challenges."ChallengeStatusEnum", 'CANCELLED_FAILED_SCREENING'::challenges."ChallengeStatusEnum", 'CANCELLED_ZERO_SUBMISSIONS'::challenges."ChallengeStatusEnum", 'CANCELLED_CLIENT_REQUEST'::challenges."ChallengeStatusEnum"])); + + +-- +-- TOC entry 6585 (class 1259 OID 2108453) +-- Name: challenge_phase_challenge_open_end_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_phase_challenge_open_end_idx ON challenges."ChallengePhase" USING btree ("challengeId", "isOpen", "scheduledEndDate", "actualEndDate"); + + +-- +-- TOC entry 6586 (class 1259 OID 2066783) +-- Name: challenge_phase_challengeid_isopen_dates_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_phase_challengeid_isopen_dates_idx ON challenges."ChallengePhase" USING btree ("challengeId", "isOpen", "scheduledEndDate", "actualEndDate", name); + + +-- +-- TOC entry 6607 (class 1259 OID 2066784) +-- Name: challenge_reviewer_ai_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_reviewer_ai_idx ON challenges."ChallengeReviewer" USING btree ("challengeId") WHERE ("aiWorkflowId" IS NOT NULL); + + +-- +-- TOC entry 6528 (class 1259 OID 2108451) +-- Name: challenge_status_type_track_created_at_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challenge_status_type_track_created_at_idx ON challenges."Challenge" USING btree (status, "typeId", "trackId", "createdAt" DESC); + + +-- +-- TOC entry 6561 (class 1259 OID 2071823) +-- Name: challengebilling_baid_challenge_idx; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX challengebilling_baid_challenge_idx ON challenges."ChallengeBilling" USING btree ("billingAccountId", "challengeId"); + + +-- +-- TOC entry 6546 (class 1259 OID 2071997) +-- Name: idx_challenge_metadata_name_challenge; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX idx_challenge_metadata_name_challenge ON challenges."ChallengeMetadata" USING btree (name, "challengeId") WHERE (name = ANY (ARRAY['onsite_efforts'::text, 'offsite_efforts'::text])); + + +-- +-- TOC entry 6594 (class 1259 OID 2072099) +-- Name: idx_challenge_prize_set_challenge; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX idx_challenge_prize_set_challenge ON challenges."ChallengePrizeSet" USING btree ("challengeId"); + + +-- +-- TOC entry 6562 (class 1259 OID 2071791) +-- Name: idx_challengebilling_baid_challenge_id; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX idx_challengebilling_baid_challenge_id ON challenges."ChallengeBilling" USING btree ("billingAccountId", "challengeId"); + + +-- +-- TOC entry 6549 (class 1259 OID 2072098) +-- Name: idx_prize_prize_set_id; Type: INDEX; Schema: challenges; Owner: challenges +-- + +CREATE INDEX idx_prize_prize_set_id ON challenges."Prize" USING btree ("prizeSetId"); + + +-- +-- TOC entry 6167 (class 1259 OID 2021429) +-- Name: idx_payment_installment_number; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_installment_number ON finance.payment USING btree (installment_number); + + +-- +-- TOC entry 6168 (class 1259 OID 2021456) +-- Name: idx_payment_installment_status_version; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_installment_status_version ON finance.payment USING btree (installment_number, payment_status, winnings_id, version DESC); + + +-- +-- TOC entry 6169 (class 1259 OID 2021322) +-- Name: idx_payment_status_winnings; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_status_winnings ON finance.payment USING btree (payment_status, winnings_id); + + +-- +-- TOC entry 6170 (class 1259 OID 2021406) +-- Name: idx_payment_win_inst_status; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_win_inst_status ON finance.payment USING btree (winnings_id, installment_number, payment_status); + + +-- +-- TOC entry 6171 (class 1259 OID 2021433) +-- Name: idx_payment_winnings_id; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_winnings_id ON finance.payment USING btree (winnings_id); + + +-- +-- TOC entry 6172 (class 1259 OID 2021383) +-- Name: idx_payment_winnings_installment; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_winnings_installment ON finance.payment USING btree (winnings_id, installment_number); + + +-- +-- TOC entry 6173 (class 1259 OID 2021291) +-- Name: idx_payment_winnings_installment1_status; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_payment_winnings_installment1_status ON finance.payment USING btree (winnings_id, payment_status) WHERE (installment_number = 1); + + +-- +-- TOC entry 6186 (class 1259 OID 2021405) +-- Name: idx_winnings_category_created_at; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_winnings_category_created_at ON finance.winnings USING btree (category, created_at DESC); + + +-- +-- TOC entry 6187 (class 1259 OID 2021403) +-- Name: idx_winnings_created_at; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_winnings_created_at ON finance.winnings USING btree (created_at DESC); + + +-- +-- TOC entry 6188 (class 1259 OID 2021290) +-- Name: idx_winnings_external_id; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_winnings_external_id ON finance.winnings USING btree (external_id) WHERE (external_id IS NOT NULL); + + +-- +-- TOC entry 6189 (class 1259 OID 2021289) +-- Name: idx_winnings_winner_created_at; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_winnings_winner_created_at ON finance.winnings USING btree (winner_id, created_at DESC); + + +-- +-- TOC entry 6190 (class 1259 OID 2021372) +-- Name: idx_winnings_winner_id_only; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX idx_winnings_winner_id_only ON finance.winnings USING btree (winner_id) INCLUDE (winning_id); + + +-- +-- TOC entry 6176 (class 1259 OID 1334658) +-- Name: payment_method_payment_method_type_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX payment_method_payment_method_type_key ON finance.payment_method USING btree (payment_method_type); + + +-- +-- TOC entry 6206 (class 1259 OID 1334785) +-- Name: trolley_recipient_payment_method_recipient_account_id_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX trolley_recipient_payment_method_recipient_account_id_key ON finance.trolley_recipient_payment_method USING btree (recipient_account_id); + + +-- +-- TOC entry 6200 (class 1259 OID 1334759) +-- Name: trolley_recipient_trolley_id_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX trolley_recipient_trolley_id_key ON finance.trolley_recipient USING btree (trolley_id); + + +-- +-- TOC entry 6201 (class 1259 OID 1334758) +-- Name: trolley_recipient_user_id_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX trolley_recipient_user_id_key ON finance.trolley_recipient USING btree (user_id); + + +-- +-- TOC entry 6195 (class 1259 OID 1334750) +-- Name: trolley_webhook_log_event_id_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX trolley_webhook_log_event_id_key ON finance.trolley_webhook_log USING btree (event_id); + + +-- +-- TOC entry 6185 (class 1259 OID 1334661) +-- Name: user_payment_methods_user_id_payment_method_id_key; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE UNIQUE INDEX user_payment_methods_user_id_payment_method_id_key ON finance.user_payment_methods USING btree (user_id, payment_method_id); + + +-- +-- TOC entry 6191 (class 1259 OID 2071795) +-- Name: winnings_external_id_created_idx; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX winnings_external_id_created_idx ON finance.winnings USING btree (external_id, created_at); + + +-- +-- TOC entry 6192 (class 1259 OID 2071826) +-- Name: winnings_external_winner_idx; Type: INDEX; Schema: finance; Owner: finance +-- + +CREATE INDEX winnings_external_winner_idx ON finance.winnings USING btree (external_id, winner_id); + + +-- +-- TOC entry 6968 (class 1259 OID 2070312) +-- Name: GroupMember_groupId_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "GroupMember_groupId_idx" ON groups."GroupMember" USING btree ("groupId"); + + +-- +-- TOC entry 6969 (class 1259 OID 2070314) +-- Name: GroupMember_groupId_memberId_key; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE UNIQUE INDEX "GroupMember_groupId_memberId_key" ON groups."GroupMember" USING btree ("groupId", "memberId"); + + +-- +-- TOC entry 6970 (class 1259 OID 2070313) +-- Name: GroupMember_memberId_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "GroupMember_memberId_idx" ON groups."GroupMember" USING btree ("memberId"); + + +-- +-- TOC entry 6971 (class 1259 OID 2070335) +-- Name: GroupMember_memberId_membershipType_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "GroupMember_memberId_membershipType_idx" ON groups."GroupMember" USING btree ("memberId", "membershipType"); + + +-- +-- TOC entry 6958 (class 1259 OID 2070332) +-- Name: Group_domain_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_domain_idx" ON groups."Group" USING btree (domain); + + +-- +-- TOC entry 6959 (class 1259 OID 2070309) +-- Name: Group_name_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_name_idx" ON groups."Group" USING btree (name); + + +-- +-- TOC entry 6960 (class 1259 OID 2070308) +-- Name: Group_name_key; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE UNIQUE INDEX "Group_name_key" ON groups."Group" USING btree (name); + + +-- +-- TOC entry 6961 (class 1259 OID 2070311) +-- Name: Group_oldId_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_oldId_idx" ON groups."Group" USING btree ("oldId"); + + +-- +-- TOC entry 6964 (class 1259 OID 2070334) +-- Name: Group_privateGroup_status_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_privateGroup_status_idx" ON groups."Group" USING btree ("privateGroup", status); + + +-- +-- TOC entry 6965 (class 1259 OID 2070333) +-- Name: Group_ssoId_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_ssoId_idx" ON groups."Group" USING btree ("ssoId"); + + +-- +-- TOC entry 6966 (class 1259 OID 2070310) +-- Name: Group_status_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_status_idx" ON groups."Group" USING btree (status); + + +-- +-- TOC entry 6967 (class 1259 OID 2070331) +-- Name: Group_status_organizationId_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "Group_status_organizationId_idx" ON groups."Group" USING btree (status, "organizationId"); + + +-- +-- TOC entry 6976 (class 1259 OID 2070336) +-- Name: User_universalUID_idx; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "User_universalUID_idx" ON groups."User" USING btree ("universalUID"); + + +-- +-- TOC entry 6979 (class 1259 OID 2070315) +-- Name: _ParentSubGroups_B_index; Type: INDEX; Schema: groups; Owner: groups +-- + +CREATE INDEX "_ParentSubGroups_B_index" ON groups."_ParentSubGroups" USING btree ("B"); + + +-- +-- TOC entry 6495 (class 1259 OID 1832072) +-- Name: client_client_id_key; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX client_client_id_key ON identity.client USING btree (client_id); + + +-- +-- TOC entry 6438 (class 1259 OID 1832058) +-- Name: dice_connection_connection_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX dice_connection_connection_idx ON identity.dice_connection USING btree (connection); + + +-- +-- TOC entry 6441 (class 1259 OID 1832057) +-- Name: dice_connection_user_id_key; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX dice_connection_user_id_key ON identity.dice_connection USING btree (user_id); + + +-- +-- TOC entry 6442 (class 1259 OID 1832060) +-- Name: email_user_id_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX email_user_id_idx ON identity.email USING btree (user_id, primary_ind); + + +-- +-- TOC entry 6483 (class 1259 OID 1832070) +-- Name: idx_user_social_login_sso_user_id_provider_id; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX idx_user_social_login_sso_user_id_provider_id ON identity.user_sso_login USING btree (sso_user_id, provider_id); + + +-- +-- TOC entry 6503 (class 1259 OID 1832075) +-- Name: role_id_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX role_id_idx ON identity.role_assignment USING btree (role_id); + + +-- +-- TOC entry 6498 (class 1259 OID 1832073) +-- Name: role_name_key; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX role_name_key ON identity.role USING btree (name); + + +-- +-- TOC entry 6504 (class 1259 OID 1832076) +-- Name: role_subject_id_subject_type; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX role_subject_id_subject_type ON identity.role_assignment USING btree (role_id, subject_id, subject_type); + + +-- +-- TOC entry 6459 (class 1259 OID 1832061) +-- Name: security_user_i2; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX security_user_i2 ON identity.security_user USING btree (user_id); + + +-- +-- TOC entry 6505 (class 1259 OID 1832074) +-- Name: subject_id_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX subject_id_idx ON identity.role_assignment USING btree (subject_id); + + +-- +-- TOC entry 6472 (class 1259 OID 1832067) +-- Name: user_2fa_user_id_key; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX user_2fa_user_id_key ON identity.user_2fa USING btree (user_id); + + +-- +-- TOC entry 6466 (class 1259 OID 1832062) +-- Name: user_activ_code_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX user_activ_code_idx ON identity."user" USING btree (activation_code); + + +-- +-- TOC entry 6492 (class 1259 OID 1832071) +-- Name: user_email_xref_email_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX user_email_xref_email_idx ON identity.user_email_xref USING btree (email_id); + + +-- +-- TOC entry 6477 (class 1259 OID 1832068) +-- Name: user_grp_xref_i2; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX user_grp_xref_i2 ON identity.user_group_xref USING btree (login_id, group_id); + + +-- +-- TOC entry 6467 (class 1259 OID 1832063) +-- Name: user_handle_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX user_handle_idx ON identity."user" USING btree (handle); + + +-- +-- TOC entry 6468 (class 1259 OID 1832064) +-- Name: user_lower_handle_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX user_lower_handle_idx ON identity."user" USING btree (handle_lower); + + +-- +-- TOC entry 6469 (class 1259 OID 1832065) +-- Name: user_open_id_idx; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE INDEX user_open_id_idx ON identity."user" USING btree (open_id); + + +-- +-- TOC entry 6480 (class 1259 OID 1832069) +-- Name: user_otp_email_user_id_mode_key; Type: INDEX; Schema: identity; Owner: identity +-- + +CREATE UNIQUE INDEX user_otp_email_user_id_mode_key ON identity.user_otp_email USING btree (user_id, mode); + + +-- +-- TOC entry 6761 (class 1259 OID 2029922) +-- Name: Country_countryCode_key; Type: INDEX; Schema: lookups; Owner: lookups +-- + +CREATE UNIQUE INDEX "Country_countryCode_key" ON lookups."Country" USING btree ("countryCode"); + + +-- +-- TOC entry 6762 (class 1259 OID 2029919) +-- Name: Country_name_key; Type: INDEX; Schema: lookups; Owner: lookups +-- + +CREATE UNIQUE INDEX "Country_name_key" ON lookups."Country" USING btree (name); + + +-- +-- TOC entry 6767 (class 1259 OID 2029920) +-- Name: Device_type_manufacturer_model_operatingSystem_operatingSys_key; Type: INDEX; Schema: lookups; Owner: lookups +-- + +CREATE UNIQUE INDEX "Device_type_manufacturer_model_operatingSystem_operatingSys_key" ON lookups."Device" USING btree (type, manufacturer, model, "operatingSystem", "operatingSystemVersion"); + + +-- +-- TOC entry 6768 (class 1259 OID 2029921) +-- Name: EducationalInstitution_name_key; Type: INDEX; Schema: lookups; Owner: lookups +-- + +CREATE UNIQUE INDEX "EducationalInstitution_name_key" ON lookups."EducationalInstitution" USING btree (name); + + +-- +-- TOC entry 6653 (class 1259 OID 2023950) +-- Name: distributionStats_track_subTrack_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "distributionStats_track_subTrack_key" ON members."distributionStats" USING btree (track, "subTrack"); + + +-- +-- TOC entry 6632 (class 1259 OID 2072054) +-- Name: idx_member_userid_text; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX idx_member_userid_text ON members.member USING btree ((("userId")::text)); + + +-- +-- TOC entry 6645 (class 1259 OID 2023947) +-- Name: memberAddress_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberAddress_userId_idx" ON members."memberAddress" USING btree ("userId"); + + +-- +-- TOC entry 6646 (class 1259 OID 2028538) +-- Name: memberAddress_userId_type_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberAddress_userId_type_idx" ON members."memberAddress" USING btree ("userId", type); + + +-- +-- TOC entry 6671 (class 1259 OID 2023956) +-- Name: memberCopilotStats_memberStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberCopilotStats_memberStatsId_idx" ON members."memberCopilotStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6672 (class 1259 OID 2023957) +-- Name: memberCopilotStats_memberStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberCopilotStats_memberStatsId_key" ON members."memberCopilotStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6664 (class 1259 OID 2023954) +-- Name: memberDataScienceHistoryStats_historyStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDataScienceHistoryStats_historyStatsId_idx" ON members."memberDataScienceHistoryStats" USING btree ("historyStatsId"); + + +-- +-- TOC entry 6691 (class 1259 OID 2023967) +-- Name: memberDataScienceStats_memberStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDataScienceStats_memberStatsId_idx" ON members."memberDataScienceStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6692 (class 1259 OID 2023966) +-- Name: memberDataScienceStats_memberStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberDataScienceStats_memberStatsId_key" ON members."memberDataScienceStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6687 (class 1259 OID 2023964) +-- Name: memberDesignStatsItem_designStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDesignStatsItem_designStatsId_idx" ON members."memberDesignStatsItem" USING btree ("designStatsId"); + + +-- +-- TOC entry 6688 (class 1259 OID 2023965) +-- Name: memberDesignStatsItem_designStatsId_name_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberDesignStatsItem_designStatsId_name_key" ON members."memberDesignStatsItem" USING btree ("designStatsId", name); + + +-- +-- TOC entry 6683 (class 1259 OID 2023962) +-- Name: memberDesignStats_memberStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDesignStats_memberStatsId_idx" ON members."memberDesignStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6684 (class 1259 OID 2023963) +-- Name: memberDesignStats_memberStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberDesignStats_memberStatsId_key" ON members."memberDesignStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6661 (class 1259 OID 2023953) +-- Name: memberDevelopHistoryStats_historyStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDevelopHistoryStats_historyStatsId_idx" ON members."memberDevelopHistoryStats" USING btree ("historyStatsId"); + + +-- +-- TOC entry 6679 (class 1259 OID 2023960) +-- Name: memberDevelopStatsItem_developStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDevelopStatsItem_developStatsId_idx" ON members."memberDevelopStatsItem" USING btree ("developStatsId"); + + +-- +-- TOC entry 6680 (class 1259 OID 2023961) +-- Name: memberDevelopStatsItem_developStatsId_name_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberDevelopStatsItem_developStatsId_name_key" ON members."memberDevelopStatsItem" USING btree ("developStatsId", name); + + +-- +-- TOC entry 6675 (class 1259 OID 2023958) +-- Name: memberDevelopStats_memberStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberDevelopStats_memberStatsId_idx" ON members."memberDevelopStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6676 (class 1259 OID 2023959) +-- Name: memberDevelopStats_memberStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberDevelopStats_memberStatsId_key" ON members."memberDevelopStats" USING btree ("memberStatsId"); + + +-- +-- TOC entry 6656 (class 1259 OID 2023952) +-- Name: memberHistoryStats_groupId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberHistoryStats_groupId_idx" ON members."memberHistoryStats" USING btree ("groupId"); + + +-- +-- TOC entry 6659 (class 1259 OID 2023951) +-- Name: memberHistoryStats_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberHistoryStats_userId_idx" ON members."memberHistoryStats" USING btree ("userId"); + + +-- +-- TOC entry 6660 (class 1259 OID 2028537) +-- Name: memberHistoryStats_userId_isPrivate_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberHistoryStats_userId_isPrivate_idx" ON members."memberHistoryStats" USING btree ("userId", "isPrivate"); + + +-- +-- TOC entry 6705 (class 1259 OID 2023972) +-- Name: memberMarathonStats_dataScienceStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberMarathonStats_dataScienceStatsId_idx" ON members."memberMarathonStats" USING btree ("dataScienceStatsId"); + + +-- +-- TOC entry 6706 (class 1259 OID 2023973) +-- Name: memberMarathonStats_dataScienceStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberMarathonStats_dataScienceStatsId_key" ON members."memberMarathonStats" USING btree ("dataScienceStatsId"); + + +-- +-- TOC entry 6649 (class 1259 OID 2023948) +-- Name: memberMaxRating_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberMaxRating_userId_idx" ON members."memberMaxRating" USING btree ("userId"); + + +-- +-- TOC entry 6650 (class 1259 OID 2023949) +-- Name: memberMaxRating_userId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberMaxRating_userId_key" ON members."memberMaxRating" USING btree ("userId"); + + +-- +-- TOC entry 6754 (class 1259 OID 2023988) +-- Name: memberSkill_skillId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberSkill_skillId_idx" ON members."memberSkill" USING btree ("skillId"); + + +-- +-- TOC entry 6755 (class 1259 OID 2023987) +-- Name: memberSkill_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberSkill_userId_idx" ON members."memberSkill" USING btree ("userId"); + + +-- +-- TOC entry 6756 (class 1259 OID 2023989) +-- Name: memberSkill_userId_skillId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberSkill_userId_skillId_key" ON members."memberSkill" USING btree ("userId", "skillId"); + + +-- +-- TOC entry 6701 (class 1259 OID 2023970) +-- Name: memberSrmChallengeDetail_srmStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberSrmChallengeDetail_srmStatsId_idx" ON members."memberSrmChallengeDetail" USING btree ("srmStatsId"); + + +-- +-- TOC entry 6704 (class 1259 OID 2023971) +-- Name: memberSrmDivisionDetail_srmStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberSrmDivisionDetail_srmStatsId_idx" ON members."memberSrmDivisionDetail" USING btree ("srmStatsId"); + + +-- +-- TOC entry 6695 (class 1259 OID 2023968) +-- Name: memberSrmStats_dataScienceStatsId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberSrmStats_dataScienceStatsId_idx" ON members."memberSrmStats" USING btree ("dataScienceStatsId"); + + +-- +-- TOC entry 6696 (class 1259 OID 2023969) +-- Name: memberSrmStats_dataScienceStatsId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberSrmStats_dataScienceStatsId_key" ON members."memberSrmStats" USING btree ("dataScienceStatsId"); + + +-- +-- TOC entry 6669 (class 1259 OID 2028536) +-- Name: memberStats_userId_groupId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberStats_userId_groupId_idx" ON members."memberStats" USING btree ("userId", "groupId"); + + +-- +-- TOC entry 6670 (class 1259 OID 2023955) +-- Name: memberStats_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberStats_userId_idx" ON members."memberStats" USING btree ("userId"); + + +-- +-- TOC entry 6728 (class 1259 OID 2023981) +-- Name: memberTraitBasicInfo_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitBasicInfo_memberTraitId_idx" ON members."memberTraitBasicInfo" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6729 (class 1259 OID 2023982) +-- Name: memberTraitBasicInfo_memberTraitId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberTraitBasicInfo_memberTraitId_key" ON members."memberTraitBasicInfo" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6741 (class 1259 OID 2023986) +-- Name: memberTraitCommunity_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitCommunity_memberTraitId_idx" ON members."memberTraitCommunity" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6713 (class 1259 OID 2023976) +-- Name: memberTraitDevice_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitDevice_memberTraitId_idx" ON members."memberTraitDevice" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6725 (class 1259 OID 2023980) +-- Name: memberTraitEducation_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitEducation_memberTraitId_idx" ON members."memberTraitEducation" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6732 (class 1259 OID 2023983) +-- Name: memberTraitLanguage_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitLanguage_memberTraitId_idx" ON members."memberTraitLanguage" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6735 (class 1259 OID 2023984) +-- Name: memberTraitOnboardChecklist_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitOnboardChecklist_memberTraitId_idx" ON members."memberTraitOnboardChecklist" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6738 (class 1259 OID 2023985) +-- Name: memberTraitPersonalization_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitPersonalization_memberTraitId_idx" ON members."memberTraitPersonalization" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6719 (class 1259 OID 2023978) +-- Name: memberTraitServiceProvider_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitServiceProvider_memberTraitId_idx" ON members."memberTraitServiceProvider" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6716 (class 1259 OID 2023977) +-- Name: memberTraitSoftware_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitSoftware_memberTraitId_idx" ON members."memberTraitSoftware" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6722 (class 1259 OID 2023979) +-- Name: memberTraitWork_memberTraitId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraitWork_memberTraitId_idx" ON members."memberTraitWork" USING btree ("memberTraitId"); + + +-- +-- TOC entry 6711 (class 1259 OID 2023974) +-- Name: memberTraits_userId_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "memberTraits_userId_idx" ON members."memberTraits" USING btree ("userId"); + + +-- +-- TOC entry 6712 (class 1259 OID 2023975) +-- Name: memberTraits_userId_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "memberTraits_userId_key" ON members."memberTraits" USING btree ("userId"); + + +-- +-- TOC entry 6633 (class 1259 OID 2028534) +-- Name: member_availableForGigs_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "member_availableForGigs_idx" ON members.member USING btree ("availableForGigs"); + + +-- +-- TOC entry 6634 (class 1259 OID 2023946) +-- Name: member_email_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX member_email_idx ON members.member USING btree (email); + + +-- +-- TOC entry 6635 (class 1259 OID 2023944) +-- Name: member_email_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX member_email_key ON members.member USING btree (email); + + +-- +-- TOC entry 6636 (class 1259 OID 2023945) +-- Name: member_handleLower_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "member_handleLower_idx" ON members.member USING btree ("handleLower"); + + +-- +-- TOC entry 6637 (class 1259 OID 2023943) +-- Name: member_handleLower_key; Type: INDEX; Schema: members; Owner: members +-- + +CREATE UNIQUE INDEX "member_handleLower_key" ON members.member USING btree ("handleLower"); + + +-- +-- TOC entry 6638 (class 1259 OID 2028533) +-- Name: member_lastLoginDate_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "member_lastLoginDate_idx" ON members.member USING btree ("lastLoginDate"); + + +-- +-- TOC entry 6641 (class 1259 OID 2028532) +-- Name: member_status_handleLower_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX "member_status_handleLower_idx" ON members.member USING btree (status, "handleLower"); + + +-- +-- TOC entry 6642 (class 1259 OID 2071825) +-- Name: member_userid_email_idx; Type: INDEX; Schema: members; Owner: members +-- + +CREATE INDEX member_userid_email_idx ON members.member USING btree ((("userId")::text)) WHERE (email IS NOT NULL); + + +-- +-- TOC entry 6250 (class 1259 OID 1352666) +-- Name: reference_idx; Type: INDEX; Schema: messages; Owner: topcoder +-- + +CREATE INDEX reference_idx ON messages.topics USING btree (reference, "referenceId"); + + +-- +-- TOC entry 6247 (class 1259 OID 1352667) +-- Name: topicId_idx; Type: INDEX; Schema: messages; Owner: topcoder +-- + +CREATE INDEX "topicId_idx" ON messages.posts USING btree ("topicId"); + + +-- +-- TOC entry 6333 (class 1259 OID 1436647) +-- Name: notification_user_id; Type: INDEX; Schema: notifications; Owner: topcoder +-- + +CREATE INDEX notification_user_id ON notifications."Notifications" USING btree ("userId"); + + +-- +-- TOC entry 6119 (class 1259 OID 1324160) +-- Name: project_history_project_id; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX project_history_project_id ON projects.project_history USING btree ("projectId"); + + +-- +-- TOC entry 6122 (class 1259 OID 1324161) +-- Name: project_members_deleted_at; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX project_members_deleted_at ON projects.project_members USING btree ("deletedAt"); + + +-- +-- TOC entry 6125 (class 1259 OID 1324162) +-- Name: project_members_role; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX project_members_role ON projects.project_members USING btree (role); + + +-- +-- TOC entry 6126 (class 1259 OID 1324163) +-- Name: project_members_user_id; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX project_members_user_id ON projects.project_members USING btree ("userId"); + + +-- +-- TOC entry 6141 (class 1259 OID 1324164) +-- Name: project_text_search_idx; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX project_text_search_idx ON projects.projects USING gin ("projectFullText" gin_trgm_ops); + + +-- +-- TOC entry 6142 (class 1259 OID 1324165) +-- Name: projects_created_at; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX projects_created_at ON projects.projects USING btree ("createdAt"); + + +-- +-- TOC entry 6143 (class 1259 OID 1324166) +-- Name: projects_direct_project_id; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX projects_direct_project_id ON projects.projects USING btree ("directProjectId"); + + +-- +-- TOC entry 6144 (class 1259 OID 1324167) +-- Name: projects_name; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX projects_name ON projects.projects USING btree (name); + + +-- +-- TOC entry 6147 (class 1259 OID 1324168) +-- Name: projects_status; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX projects_status ON projects.projects USING btree (status); + + +-- +-- TOC entry 6148 (class 1259 OID 1324169) +-- Name: projects_type; Type: INDEX; Schema: projects; Owner: topcoder +-- + +CREATE INDEX projects_type ON projects.projects USING btree (type); + + +-- +-- TOC entry 6621 (class 1259 OID 2071998) +-- Name: idx_resource_challenge_role; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX idx_resource_challenge_role ON resources."Resource" USING btree ("challengeId", "roleId"); + + +-- +-- TOC entry 6622 (class 1259 OID 2072078) +-- Name: idx_resource_challenge_role_member; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX idx_resource_challenge_role_member ON resources."Resource" USING btree ("challengeId", "roleId") INCLUDE ("memberId"); + + +-- +-- TOC entry 6623 (class 1259 OID 2015731) +-- Name: resource-challengeIdMemberId-index; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX "resource-challengeIdMemberId-index" ON resources."Resource" USING btree ("challengeId", "memberId"); + + +-- +-- TOC entry 6624 (class 1259 OID 2015732) +-- Name: resource-memberIdRoleId-index; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX "resource-memberIdRoleId-index" ON resources."Resource" USING btree ("memberId", "roleId"); + + +-- +-- TOC entry 6625 (class 1259 OID 2071794) +-- Name: resource_challengeid_roleid_idx; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX resource_challengeid_roleid_idx ON resources."Resource" USING btree ("challengeId", "roleId"); + + +-- +-- TOC entry 6626 (class 1259 OID 2071798) +-- Name: resource_challengeid_roleid_memberid_idx; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX resource_challengeid_roleid_memberid_idx ON resources."Resource" USING btree ("challengeId", "roleId", "memberId"); + + +-- +-- TOC entry 6617 (class 1259 OID 2015730) +-- Name: resourcerole-nameLower-index; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX "resourcerole-nameLower-index" ON resources."ResourceRole" USING btree ("nameLower"); + + +-- +-- TOC entry 6618 (class 1259 OID 2071828) +-- Name: resourcerole_name_trgm_idx; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE INDEX resourcerole_name_trgm_idx ON resources."ResourceRole" USING gin (COALESCE("nameLower", lower(name)) gin_trgm_ops); + + +-- +-- TOC entry 6629 (class 1259 OID 2015733) +-- Name: resourcerolephase-phaseId-resourceRoleId-unique; Type: INDEX; Schema: resources; Owner: resources +-- + +CREATE UNIQUE INDEX "resourcerolephase-phaseId-resourceRoleId-unique" ON resources."ResourceRolePhaseDependency" USING btree ("phaseId", "resourceRoleId"); + + +-- +-- TOC entry 6905 (class 1259 OID 2034373) +-- Name: aiWorkflowRun_submissionId_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "aiWorkflowRun_submissionId_status_idx" ON reviews."aiWorkflowRun" USING btree ("submissionId", status); + + +-- +-- TOC entry 6906 (class 1259 OID 2034374) +-- Name: aiWorkflowRun_workflowId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "aiWorkflowRun_workflowId_idx" ON reviews."aiWorkflowRun" USING btree ("workflowId"); + + +-- +-- TOC entry 6900 (class 1259 OID 2034266) +-- Name: aiWorkflow_name_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "aiWorkflow_name_key" ON reviews."aiWorkflow" USING btree (name); + + +-- +-- TOC entry 6834 (class 1259 OID 2033908) +-- Name: appealResponse_appealId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "appealResponse_appealId_idx" ON reviews."appealResponse" USING btree ("appealId"); + + +-- +-- TOC entry 6835 (class 1259 OID 2033838) +-- Name: appealResponse_appealId_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "appealResponse_appealId_key" ON reviews."appealResponse" USING btree ("appealId"); + + +-- +-- TOC entry 6836 (class 1259 OID 2033907) +-- Name: appealResponse_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "appealResponse_id_idx" ON reviews."appealResponse" USING btree (id); + + +-- +-- TOC entry 6839 (class 1259 OID 2033909) +-- Name: appealResponse_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "appealResponse_resourceId_idx" ON reviews."appealResponse" USING btree ("resourceId"); + + +-- +-- TOC entry 6826 (class 1259 OID 2064280) +-- Name: appeal_comment_resource_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX appeal_comment_resource_idx ON reviews.appeal USING btree ("reviewItemCommentId", "resourceId"); + + +-- +-- TOC entry 6827 (class 1259 OID 2033905) +-- Name: appeal_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX appeal_id_idx ON reviews.appeal USING btree (id); + + +-- +-- TOC entry 6830 (class 1259 OID 2033837) +-- Name: appeal_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "appeal_resourceId_idx" ON reviews.appeal USING btree ("resourceId"); + + +-- +-- TOC entry 6840 (class 1259 OID 2064082) +-- Name: appeal_response_appeal_resource_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX appeal_response_appeal_resource_idx ON reviews."appealResponse" USING btree ("appealId", "resourceId"); + + +-- +-- TOC entry 6831 (class 1259 OID 2033906) +-- Name: appeal_reviewItemCommentId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "appeal_reviewItemCommentId_idx" ON reviews.appeal USING btree ("reviewItemCommentId"); + + +-- +-- TOC entry 6832 (class 1259 OID 2033836) +-- Name: appeal_reviewItemCommentId_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "appeal_reviewItemCommentId_key" ON reviews.appeal USING btree ("reviewItemCommentId"); + + +-- +-- TOC entry 6833 (class 1259 OID 2066856) +-- Name: appeal_reviewitemcommentid_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX appeal_reviewitemcommentid_idx ON reviews.appeal USING btree ("reviewItemCommentId"); + + +-- +-- TOC entry 6841 (class 1259 OID 2033910) +-- Name: challengeResult_challengeId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "challengeResult_challengeId_idx" ON reviews."challengeResult" USING btree ("challengeId"); + + +-- +-- TOC entry 6844 (class 1259 OID 2033912) +-- Name: challengeResult_submissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "challengeResult_submissionId_idx" ON reviews."challengeResult" USING btree ("submissionId"); + + +-- +-- TOC entry 6845 (class 1259 OID 2033911) +-- Name: challengeResult_userId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "challengeResult_userId_idx" ON reviews."challengeResult" USING btree ("userId"); + + +-- +-- TOC entry 6846 (class 1259 OID 2033915) +-- Name: contactRequest_challengeId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "contactRequest_challengeId_idx" ON reviews."contactRequest" USING btree ("challengeId"); + + +-- +-- TOC entry 6847 (class 1259 OID 2033913) +-- Name: contactRequest_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "contactRequest_id_idx" ON reviews."contactRequest" USING btree (id); + + +-- +-- TOC entry 6850 (class 1259 OID 2033914) +-- Name: contactRequest_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "contactRequest_resourceId_idx" ON reviews."contactRequest" USING btree ("resourceId"); + + +-- +-- TOC entry 6889 (class 1259 OID 2034203) +-- Name: gitWebhookLog_createdAt_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "gitWebhookLog_createdAt_idx" ON reviews."gitWebhookLog" USING btree ("createdAt"); + + +-- +-- TOC entry 6890 (class 1259 OID 2034201) +-- Name: gitWebhookLog_eventId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "gitWebhookLog_eventId_idx" ON reviews."gitWebhookLog" USING btree ("eventId"); + + +-- +-- TOC entry 6891 (class 1259 OID 2034202) +-- Name: gitWebhookLog_event_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "gitWebhookLog_event_idx" ON reviews."gitWebhookLog" USING btree (event); + + +-- +-- TOC entry 6873 (class 1259 OID 2072077) +-- Name: idx_submission_challenge_submitted_member; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX idx_submission_challenge_submitted_member ON reviews.submission USING btree ("challengeId", "submittedDate") INCLUDE ("memberId", placement) WHERE ("memberId" IS NOT NULL); + + +-- +-- TOC entry 6897 (class 1259 OID 2034265) +-- Name: llmModel_name_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "llmModel_name_key" ON reviews."llmModel" USING btree (name); + + +-- +-- TOC entry 6894 (class 1259 OID 2034264) +-- Name: llmProvider_name_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "llmProvider_name_key" ON reviews."llmProvider" USING btree (name); + + +-- +-- TOC entry 6857 (class 1259 OID 2034008) +-- Name: reviewApplication_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewApplication_id_idx" ON reviews."reviewApplication" USING btree (id); + + +-- +-- TOC entry 6858 (class 1259 OID 2034204) +-- Name: reviewApplication_opportunityId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewApplication_opportunityId_idx" ON reviews."reviewApplication" USING btree ("opportunityId"); + + +-- +-- TOC entry 6859 (class 1259 OID 2034205) +-- Name: reviewApplication_opportunityId_userId_role_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "reviewApplication_opportunityId_userId_role_key" ON reviews."reviewApplication" USING btree ("opportunityId", "userId", role); + + +-- +-- TOC entry 6862 (class 1259 OID 2034009) +-- Name: reviewApplication_userId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewApplication_userId_idx" ON reviews."reviewApplication" USING btree ("userId"); + + +-- +-- TOC entry 6913 (class 1259 OID 2034341) +-- Name: reviewAudit_reviewId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewAudit_reviewId_idx" ON reviews."reviewAudit" USING btree ("reviewId"); + + +-- +-- TOC entry 6914 (class 1259 OID 2034342) +-- Name: reviewAudit_submissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewAudit_submissionId_idx" ON reviews."reviewAudit" USING btree ("submissionId"); + + +-- +-- TOC entry 6818 (class 1259 OID 2033904) +-- Name: reviewItemComment_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItemComment_id_idx" ON reviews."reviewItemComment" USING btree (id); + + +-- +-- TOC entry 6821 (class 1259 OID 2033920) +-- Name: reviewItemComment_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItemComment_resourceId_idx" ON reviews."reviewItemComment" USING btree ("resourceId"); + + +-- +-- TOC entry 6822 (class 1259 OID 2033903) +-- Name: reviewItemComment_reviewItemId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItemComment_reviewItemId_idx" ON reviews."reviewItemComment" USING btree ("reviewItemId"); + + +-- +-- TOC entry 6823 (class 1259 OID 2063857) +-- Name: reviewItemComment_reviewItemId_sortOrder_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItemComment_reviewItemId_sortOrder_id_idx" ON reviews."reviewItemComment" USING btree ("reviewItemId", "sortOrder", id); + + +-- +-- TOC entry 6824 (class 1259 OID 2033921) +-- Name: reviewItemComment_type_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItemComment_type_idx" ON reviews."reviewItemComment" USING btree (type); + + +-- +-- TOC entry 6813 (class 1259 OID 2033902) +-- Name: reviewItem_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItem_id_idx" ON reviews."reviewItem" USING btree (id); + + +-- +-- TOC entry 6816 (class 1259 OID 2033901) +-- Name: reviewItem_reviewId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItem_reviewId_idx" ON reviews."reviewItem" USING btree ("reviewId"); + + +-- +-- TOC entry 6817 (class 1259 OID 2033919) +-- Name: reviewItem_scorecardQuestionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewItem_scorecardQuestionId_idx" ON reviews."reviewItem" USING btree ("scorecardQuestionId"); + + +-- +-- TOC entry 6851 (class 1259 OID 2034006) +-- Name: reviewOpportunity_challengeId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewOpportunity_challengeId_idx" ON reviews."reviewOpportunity" USING btree ("challengeId"); + + +-- +-- TOC entry 6852 (class 1259 OID 2034007) +-- Name: reviewOpportunity_challengeId_type_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "reviewOpportunity_challengeId_type_key" ON reviews."reviewOpportunity" USING btree ("challengeId", type); + + +-- +-- TOC entry 6853 (class 1259 OID 2034005) +-- Name: reviewOpportunity_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewOpportunity_id_idx" ON reviews."reviewOpportunity" USING btree (id); + + +-- +-- TOC entry 6856 (class 1259 OID 2034377) +-- Name: reviewOpportunity_status_challengeId_type_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewOpportunity_status_challengeId_type_idx" ON reviews."reviewOpportunity" USING btree (status, "challengeId", type); + + +-- +-- TOC entry 6870 (class 1259 OID 2034058) +-- Name: reviewSummation_scorecardId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewSummation_scorecardId_idx" ON reviews."reviewSummation" USING btree ("scorecardId"); + + +-- +-- TOC entry 6871 (class 1259 OID 2034125) +-- Name: reviewSummation_submissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewSummation_submissionId_idx" ON reviews."reviewSummation" USING btree ("submissionId"); + + +-- +-- TOC entry 6872 (class 1259 OID 2034378) +-- Name: reviewSummation_submissionId_isPassing_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewSummation_submissionId_isPassing_idx" ON reviews."reviewSummation" USING btree ("submissionId", "isPassing"); + + +-- +-- TOC entry 6863 (class 1259 OID 2034053) +-- Name: reviewType_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewType_id_idx" ON reviews."reviewType" USING btree (id); + + +-- +-- TOC entry 6864 (class 1259 OID 2034055) +-- Name: reviewType_isActive_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewType_isActive_idx" ON reviews."reviewType" USING btree ("isActive"); + + +-- +-- TOC entry 6865 (class 1259 OID 2034054) +-- Name: reviewType_name_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "reviewType_name_idx" ON reviews."reviewType" USING btree (name); + + +-- +-- TOC entry 6797 (class 1259 OID 2033833) +-- Name: review_committed_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_committed_idx ON reviews.review USING btree (committed); + + +-- +-- TOC entry 6929 (class 1259 OID 2066974) +-- Name: review_pending_summary_updated_at_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_pending_summary_updated_at_idx ON reviews.review_pending_summary USING btree ("updatedAt"); + + +-- +-- TOC entry 6798 (class 1259 OID 2063856) +-- Name: review_phaseId_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_phaseId_id_idx" ON reviews.review USING btree ("phaseId", id); + + +-- +-- TOC entry 6799 (class 1259 OID 2033917) +-- Name: review_phaseId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_phaseId_idx" ON reviews.review USING btree ("phaseId"); + + +-- +-- TOC entry 6802 (class 1259 OID 2033835) +-- Name: review_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_resourceId_idx" ON reviews.review USING btree ("resourceId"); + + +-- +-- TOC entry 6803 (class 1259 OID 2034376) +-- Name: review_resourceId_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_resourceId_status_idx" ON reviews.review USING btree ("resourceId", status); + + +-- +-- TOC entry 6804 (class 1259 OID 2034330) +-- Name: review_resourceId_submissionId_scorecardId_key; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE UNIQUE INDEX "review_resourceId_submissionId_scorecardId_key" ON reviews.review USING btree ("resourceId", "submissionId", "scorecardId"); + + +-- +-- TOC entry 6805 (class 1259 OID 2066776) +-- Name: review_resource_status_partial_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_resource_status_partial_idx ON reviews.review USING btree ("resourceId", "phaseId") WHERE (status IS DISTINCT FROM 'COMPLETED'::reviews."ReviewStatus"); + + +-- +-- TOC entry 6806 (class 1259 OID 2064083) +-- Name: review_resource_status_phase_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_resource_status_phase_idx ON reviews.review USING btree ("resourceId", status, "phaseId"); + + +-- +-- TOC entry 6807 (class 1259 OID 2066780) +-- Name: review_resourceid_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_resourceid_status_idx ON reviews.review USING btree ("resourceId", status); + + +-- +-- TOC entry 6808 (class 1259 OID 2033918) +-- Name: review_scorecardId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_scorecardId_idx" ON reviews.review USING btree ("scorecardId"); + + +-- +-- TOC entry 6809 (class 1259 OID 2034327) +-- Name: review_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX review_status_idx ON reviews.review USING btree (status); + + +-- +-- TOC entry 6810 (class 1259 OID 2034375) +-- Name: review_status_phaseId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_status_phaseId_idx" ON reviews.review USING btree (status, "phaseId"); + + +-- +-- TOC entry 6811 (class 1259 OID 2063855) +-- Name: review_submissionId_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_submissionId_id_idx" ON reviews.review USING btree ("submissionId", id); + + +-- +-- TOC entry 6812 (class 1259 OID 2034111) +-- Name: review_submissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "review_submissionId_idx" ON reviews.review USING btree ("submissionId"); + + +-- +-- TOC entry 6825 (class 1259 OID 2066900) +-- Name: reviewitemcomment_reviewitemid_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX reviewitemcomment_reviewitemid_idx ON reviews."reviewItemComment" USING btree ("reviewItemId"); + + +-- +-- TOC entry 6781 (class 1259 OID 2033925) +-- Name: scorecardGroup_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardGroup_id_idx" ON reviews."scorecardGroup" USING btree (id); + + +-- +-- TOC entry 6784 (class 1259 OID 2033926) +-- Name: scorecardGroup_scorecardId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardGroup_scorecardId_idx" ON reviews."scorecardGroup" USING btree ("scorecardId"); + + +-- +-- TOC entry 6785 (class 1259 OID 2033927) +-- Name: scorecardGroup_sortOrder_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardGroup_sortOrder_idx" ON reviews."scorecardGroup" USING btree ("sortOrder"); + + +-- +-- TOC entry 6791 (class 1259 OID 2033928) +-- Name: scorecardQuestion_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardQuestion_id_idx" ON reviews."scorecardQuestion" USING btree (id); + + +-- +-- TOC entry 6794 (class 1259 OID 2033929) +-- Name: scorecardQuestion_scorecardSectionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardQuestion_scorecardSectionId_idx" ON reviews."scorecardQuestion" USING btree ("scorecardSectionId"); + + +-- +-- TOC entry 6795 (class 1259 OID 2033931) +-- Name: scorecardQuestion_sortOrder_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardQuestion_sortOrder_idx" ON reviews."scorecardQuestion" USING btree ("sortOrder"); + + +-- +-- TOC entry 6796 (class 1259 OID 2033930) +-- Name: scorecardQuestion_type_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardQuestion_type_idx" ON reviews."scorecardQuestion" USING btree (type); + + +-- +-- TOC entry 6786 (class 1259 OID 2033932) +-- Name: scorecardSection_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardSection_id_idx" ON reviews."scorecardSection" USING btree (id); + + +-- +-- TOC entry 6789 (class 1259 OID 2033933) +-- Name: scorecardSection_scorecardGroupId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardSection_scorecardGroupId_idx" ON reviews."scorecardSection" USING btree ("scorecardGroupId"); + + +-- +-- TOC entry 6790 (class 1259 OID 2033934) +-- Name: scorecardSection_sortOrder_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecardSection_sortOrder_idx" ON reviews."scorecardSection" USING btree ("sortOrder"); + + +-- +-- TOC entry 6773 (class 1259 OID 2033839) +-- Name: scorecard_challengeTrack_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecard_challengeTrack_idx" ON reviews.scorecard USING btree ("challengeTrack"); + + +-- +-- TOC entry 6774 (class 1259 OID 2033840) +-- Name: scorecard_challengeType_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "scorecard_challengeType_idx" ON reviews.scorecard USING btree ("challengeType"); + + +-- +-- TOC entry 6775 (class 1259 OID 2033922) +-- Name: scorecard_id_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX scorecard_id_idx ON reviews.scorecard USING btree (id); + + +-- +-- TOC entry 6776 (class 1259 OID 2033841) +-- Name: scorecard_name_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX scorecard_name_idx ON reviews.scorecard USING btree (name); + + +-- +-- TOC entry 6779 (class 1259 OID 2033924) +-- Name: scorecard_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX scorecard_status_idx ON reviews.scorecard USING btree (status); + + +-- +-- TOC entry 6780 (class 1259 OID 2033923) +-- Name: scorecard_type_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX scorecard_type_idx ON reviews.scorecard USING btree (type); + + +-- +-- TOC entry 6915 (class 1259 OID 2034365) +-- Name: submissionAccessAudit_downloadedAt_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submissionAccessAudit_downloadedAt_idx" ON reviews."submissionAccessAudit" USING btree ("downloadedAt"); + + +-- +-- TOC entry 6918 (class 1259 OID 2034366) +-- Name: submissionAccessAudit_submissionId_downloadedAt_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submissionAccessAudit_submissionId_downloadedAt_idx" ON reviews."submissionAccessAudit" USING btree ("submissionId", "downloadedAt"); + + +-- +-- TOC entry 6919 (class 1259 OID 2034364) +-- Name: submissionAccessAudit_submissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submissionAccessAudit_submissionId_idx" ON reviews."submissionAccessAudit" USING btree ("submissionId"); + + +-- +-- TOC entry 6874 (class 1259 OID 2034165) +-- Name: submission_challengeId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submission_challengeId_idx" ON reviews.submission USING btree ("challengeId"); + + +-- +-- TOC entry 6875 (class 1259 OID 2034379) +-- Name: submission_challengeId_memberId_status_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submission_challengeId_memberId_status_idx" ON reviews.submission USING btree ("challengeId", "memberId", status); + + +-- +-- TOC entry 6876 (class 1259 OID 2071792) +-- Name: submission_challengeid_submitteddate_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX submission_challengeid_submitteddate_idx ON reviews.submission USING btree ("challengeId", "submittedDate" DESC); + + +-- +-- TOC entry 6877 (class 1259 OID 2034166) +-- Name: submission_legacySubmissionId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submission_legacySubmissionId_idx" ON reviews.submission USING btree ("legacySubmissionId"); + + +-- +-- TOC entry 6878 (class 1259 OID 2034164) +-- Name: submission_memberId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submission_memberId_idx" ON reviews.submission USING btree ("memberId"); + + +-- +-- TOC entry 6881 (class 1259 OID 2034380) +-- Name: submission_submittedDate_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "submission_submittedDate_idx" ON reviews.submission USING btree ("submittedDate"); + + +-- +-- TOC entry 6882 (class 1259 OID 2034163) +-- Name: upload_legacyId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "upload_legacyId_idx" ON reviews.upload USING btree ("legacyId"); + + +-- +-- TOC entry 6885 (class 1259 OID 2034162) +-- Name: upload_projectId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "upload_projectId_idx" ON reviews.upload USING btree ("projectId"); + + +-- +-- TOC entry 6886 (class 1259 OID 2034381) +-- Name: upload_projectId_resourceId_idx; Type: INDEX; Schema: reviews; Owner: reviews +-- + +CREATE INDEX "upload_projectId_resourceId_idx" ON reviews.upload USING btree ("projectId", "resourceId"); + + +-- +-- TOC entry 6395 (class 1259 OID 1477295) +-- Name: fki_fk_event; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_event ON skills.skill_event USING btree (event_id); + + +-- +-- TOC entry 6412 (class 1259 OID 1477296) +-- Name: fki_fk_skill; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_skill ON skills.user_skill USING btree (skill_id); + + +-- +-- TOC entry 6386 (class 1259 OID 1477297) +-- Name: fki_fk_skill_category; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_skill_category ON skills.skill USING btree (category_id); + + +-- +-- TOC entry 6396 (class 1259 OID 1477298) +-- Name: fki_fk_skill_event_type; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_skill_event_type ON skills.skill_event USING btree (skill_event_type_id); + + +-- +-- TOC entry 6397 (class 1259 OID 1477299) +-- Name: fki_fk_source_type; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_source_type ON skills.skill_event USING btree (source_type_id); + + +-- +-- TOC entry 6413 (class 1259 OID 1477300) +-- Name: fki_fk_user_skill_level; Type: INDEX; Schema: skills; Owner: topcoder +-- + +CREATE INDEX fki_fk_user_skill_level ON skills.user_skill USING btree (user_skill_level_id); + + +-- +-- TOC entry 6358 (class 1259 OID 1475542) +-- Name: roles_name; Type: INDEX; Schema: taas; Owner: topcoder +-- + +CREATE UNIQUE INDEX roles_name ON taas.roles USING btree (name) WHERE (deleted_at IS NULL); + + +-- +-- TOC entry 6367 (class 1259 OID 1475543) +-- Name: work_periods_resource_booking_id_start_date_end_date; Type: INDEX; Schema: taas; Owner: topcoder +-- + +CREATE UNIQUE INDEX work_periods_resource_booking_id_start_date_end_date ON taas.work_periods USING btree (resource_booking_id, start_date, end_date) WHERE (deleted_at IS NULL); + + +-- +-- TOC entry 6302 (class 1259 OID 1363503) +-- Name: terms_for_resource_reference_reference_id_tag; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX terms_for_resource_reference_reference_id_tag ON terms."TermsForResource" USING btree (reference, "referenceId", tag); + + +-- +-- TOC entry 6313 (class 1259 OID 1363504) +-- Name: terms_of_use_dependency_dependency_terms_of_use_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX terms_of_use_dependency_dependency_terms_of_use_id ON terms."TermsOfUseDependency" USING btree ("dependencyTermsOfUseId"); + + +-- +-- TOC entry 6314 (class 1259 OID 1363505) +-- Name: terms_of_use_dependency_dependent_terms_of_use_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX terms_of_use_dependency_dependent_terms_of_use_id ON terms."TermsOfUseDependency" USING btree ("dependentTermsOfUseId"); + + +-- +-- TOC entry 6321 (class 1259 OID 1363506) +-- Name: user_terms_of_use_ban_xref_terms_of_use_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX user_terms_of_use_ban_xref_terms_of_use_id ON terms."UserTermsOfUseBanXref" USING btree ("termsOfUseId"); + + +-- +-- TOC entry 6322 (class 1259 OID 1363507) +-- Name: user_terms_of_use_ban_xref_user_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX user_terms_of_use_ban_xref_user_id ON terms."UserTermsOfUseBanXref" USING btree ("userId"); + + +-- +-- TOC entry 6325 (class 1259 OID 1363508) +-- Name: user_terms_of_use_xref_terms_of_use_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX user_terms_of_use_xref_terms_of_use_id ON terms."UserTermsOfUseXref" USING btree ("termsOfUseId"); + + +-- +-- TOC entry 6326 (class 1259 OID 1363509) +-- Name: user_terms_of_use_xref_user_id; Type: INDEX; Schema: terms; Owner: topcoder +-- + +CREATE INDEX user_terms_of_use_xref_user_id ON terms."UserTermsOfUseXref" USING btree ("userId"); + + +-- +-- TOC entry 7174 (class 2620 OID 1324170) +-- Name: projects project_text_update; Type: TRIGGER; Schema: projects; Owner: topcoder +-- + +CREATE TRIGGER project_text_update BEFORE INSERT OR UPDATE ON projects.projects FOR EACH ROW EXECUTE FUNCTION projects.project_text_update_trigger(); + + +-- +-- TOC entry 7175 (class 2620 OID 2066979) +-- Name: appeal appeal_pending_maintainer; Type: TRIGGER; Schema: reviews; Owner: reviews +-- + +CREATE TRIGGER appeal_pending_maintainer AFTER INSERT OR DELETE OR UPDATE ON reviews.appeal FOR EACH ROW EXECUTE FUNCTION reviews.handle_appeal_change(); + + +-- +-- TOC entry 7176 (class 2620 OID 2066981) +-- Name: appealResponse appeal_response_pending_maintainer; Type: TRIGGER; Schema: reviews; Owner: reviews +-- + +CREATE TRIGGER appeal_response_pending_maintainer AFTER INSERT OR DELETE OR UPDATE ON reviews."appealResponse" FOR EACH ROW EXECUTE FUNCTION reviews.handle_appeal_response_change(); + + +-- +-- TOC entry 7016 (class 2606 OID 1363256) +-- Name: CertificationEnrollments CertificationEnrollments_topcoderCertificationId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."CertificationEnrollments" + ADD CONSTRAINT "CertificationEnrollments_topcoderCertificationId_fkey" FOREIGN KEY ("topcoderCertificationId") REFERENCES academy."TopcoderCertification"(id); + + +-- +-- TOC entry 7018 (class 2606 OID 1363261) +-- Name: CertificationResourceProgresses CertificationResourceProgresses_certificationEnrollmentId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."CertificationResourceProgresses" + ADD CONSTRAINT "CertificationResourceProgresses_certificationEnrollmentId_fkey" FOREIGN KEY ("certificationEnrollmentId") REFERENCES academy."CertificationEnrollments"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7019 (class 2606 OID 1363266) +-- Name: CertificationResourceProgresses CertificationResourceProgresses_certificationResourceId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."CertificationResourceProgresses" + ADD CONSTRAINT "CertificationResourceProgresses_certificationResourceId_fkey" FOREIGN KEY ("certificationResourceId") REFERENCES academy."CertificationResource"(id); + + +-- +-- TOC entry 7017 (class 2606 OID 1363271) +-- Name: CertificationResource CertificationResource_resourceProviderId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."CertificationResource" + ADD CONSTRAINT "CertificationResource_resourceProviderId_fkey" FOREIGN KEY ("resourceProviderId") REFERENCES academy."ResourceProvider"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7020 (class 2606 OID 1363276) +-- Name: FccCertificationProgresses FccCertificationProgresses_fccCertificationId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccCertificationProgresses" + ADD CONSTRAINT "FccCertificationProgresses_fccCertificationId_fkey" FOREIGN KEY ("fccCertificationId") REFERENCES academy."FreeCodeCampCertification"(id); + + +-- +-- TOC entry 7021 (class 2606 OID 1363281) +-- Name: FccCertificationProgresses FccCertificationProgresses_fccCourseId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccCertificationProgresses" + ADD CONSTRAINT "FccCertificationProgresses_fccCourseId_fkey" FOREIGN KEY ("fccCourseId") REFERENCES academy."FccCourses"(id); + + +-- +-- TOC entry 7022 (class 2606 OID 1363286) +-- Name: FccCompletedLessons FccCompletedLessons_fccModuleProgressId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccCompletedLessons" + ADD CONSTRAINT "FccCompletedLessons_fccModuleProgressId_fkey" FOREIGN KEY ("fccModuleProgressId") REFERENCES academy."FccModuleProgresses"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7023 (class 2606 OID 1363291) +-- Name: FccCourses FccCourses_certificationId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccCourses" + ADD CONSTRAINT "FccCourses_certificationId_fkey" FOREIGN KEY ("certificationId") REFERENCES academy."FreeCodeCampCertification"(id); + + +-- +-- TOC entry 7024 (class 2606 OID 1363296) +-- Name: FccCourses FccCourses_providerId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccCourses" + ADD CONSTRAINT "FccCourses_providerId_fkey" FOREIGN KEY ("providerId") REFERENCES academy."ResourceProvider"(id); + + +-- +-- TOC entry 7025 (class 2606 OID 1363301) +-- Name: FccLessons FccLessons_fccModuleId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccLessons" + ADD CONSTRAINT "FccLessons_fccModuleId_fkey" FOREIGN KEY ("fccModuleId") REFERENCES academy."FccModules"(id); + + +-- +-- TOC entry 7026 (class 2606 OID 1363306) +-- Name: FccModuleProgresses FccModuleProgresses_fccCertificationProgressId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccModuleProgresses" + ADD CONSTRAINT "FccModuleProgresses_fccCertificationProgressId_fkey" FOREIGN KEY ("fccCertificationProgressId") REFERENCES academy."FccCertificationProgresses"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7027 (class 2606 OID 1363311) +-- Name: FccModules FccModules_fccCourseId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FccModules" + ADD CONSTRAINT "FccModules_fccCourseId_fkey" FOREIGN KEY ("fccCourseId") REFERENCES academy."FccCourses"(id); + + +-- +-- TOC entry 7028 (class 2606 OID 1363316) +-- Name: FreeCodeCampCertification FreeCodeCampCertification_certificationCategoryId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FreeCodeCampCertification" + ADD CONSTRAINT "FreeCodeCampCertification_certificationCategoryId_fkey" FOREIGN KEY ("certificationCategoryId") REFERENCES academy."CertificationCategory"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7029 (class 2606 OID 1363321) +-- Name: FreeCodeCampCertification FreeCodeCampCertification_resourceProviderId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."FreeCodeCampCertification" + ADD CONSTRAINT "FreeCodeCampCertification_resourceProviderId_fkey" FOREIGN KEY ("resourceProviderId") REFERENCES academy."ResourceProvider"(id); + + +-- +-- TOC entry 7030 (class 2606 OID 1363326) +-- Name: TopcoderCertification TopcoderCertification_certificationCategoryId_fkey; Type: FK CONSTRAINT; Schema: academy; Owner: topcoder +-- + +ALTER TABLE ONLY academy."TopcoderCertification" + ADD CONSTRAINT "TopcoderCertification_certificationCategoryId_fkey" FOREIGN KEY ("certificationCategoryId") REFERENCES academy."CertificationCategory"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7170 (class 2606 OID 2070020) +-- Name: BillingAccountAccess BillingAccountAccess_billingAccountId_fkey; Type: FK CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts +-- + +ALTER TABLE ONLY "billing-accounts"."BillingAccountAccess" + ADD CONSTRAINT "BillingAccountAccess_billingAccountId_fkey" FOREIGN KEY ("billingAccountId") REFERENCES "billing-accounts"."BillingAccount"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7167 (class 2606 OID 2069971) +-- Name: BillingAccount BillingAccount_clientId_fkey; Type: FK CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts +-- + +ALTER TABLE ONLY "billing-accounts"."BillingAccount" + ADD CONSTRAINT "BillingAccount_clientId_fkey" FOREIGN KEY ("clientId") REFERENCES "billing-accounts"."Client"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7169 (class 2606 OID 2070015) +-- Name: ConsumedAmount ConsumedAmount_billingAccountId_fkey; Type: FK CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts +-- + +ALTER TABLE ONLY "billing-accounts"."ConsumedAmount" + ADD CONSTRAINT "ConsumedAmount_billingAccountId_fkey" FOREIGN KEY ("billingAccountId") REFERENCES "billing-accounts"."BillingAccount"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7168 (class 2606 OID 2070010) +-- Name: LockedAmount LockedAmount_billingAccountId_fkey; Type: FK CONSTRAINT; Schema: billing-accounts; Owner: billingaccounts +-- + +ALTER TABLE ONLY "billing-accounts"."LockedAmount" + ADD CONSTRAINT "LockedAmount_billingAccountId_fkey" FOREIGN KEY ("billingAccountId") REFERENCES "billing-accounts"."BillingAccount"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7081 (class 2606 OID 2005153) +-- Name: Attachment Attachment_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."Attachment" + ADD CONSTRAINT "Attachment_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7080 (class 2606 OID 2005148) +-- Name: AuditLog AuditLog_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."AuditLog" + ADD CONSTRAINT "AuditLog_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7087 (class 2606 OID 2005183) +-- Name: ChallengeBilling ChallengeBilling_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeBilling" + ADD CONSTRAINT "ChallengeBilling_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7092 (class 2606 OID 2005208) +-- Name: ChallengeConstraint ChallengeConstraint_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeConstraint" + ADD CONSTRAINT "ChallengeConstraint_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7091 (class 2606 OID 2005203) +-- Name: ChallengeDiscussionOption ChallengeDiscussionOption_discussionId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeDiscussionOption" + ADD CONSTRAINT "ChallengeDiscussionOption_discussionId_fkey" FOREIGN KEY ("discussionId") REFERENCES challenges."ChallengeDiscussion"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7090 (class 2606 OID 2005198) +-- Name: ChallengeDiscussion ChallengeDiscussion_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeDiscussion" + ADD CONSTRAINT "ChallengeDiscussion_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7089 (class 2606 OID 2005193) +-- Name: ChallengeEvent ChallengeEvent_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeEvent" + ADD CONSTRAINT "ChallengeEvent_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7088 (class 2606 OID 2005188) +-- Name: ChallengeLegacy ChallengeLegacy_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeLegacy" + ADD CONSTRAINT "ChallengeLegacy_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7082 (class 2606 OID 2005158) +-- Name: ChallengeMetadata ChallengeMetadata_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeMetadata" + ADD CONSTRAINT "ChallengeMetadata_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7095 (class 2606 OID 2005223) +-- Name: ChallengePhaseConstraint ChallengePhaseConstraint_challengePhaseId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengePhaseConstraint" + ADD CONSTRAINT "ChallengePhaseConstraint_challengePhaseId_fkey" FOREIGN KEY ("challengePhaseId") REFERENCES challenges."ChallengePhase"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7093 (class 2606 OID 2005213) +-- Name: ChallengePhase ChallengePhase_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengePhase" + ADD CONSTRAINT "ChallengePhase_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7094 (class 2606 OID 2005218) +-- Name: ChallengePhase ChallengePhase_phaseId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengePhase" + ADD CONSTRAINT "ChallengePhase_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES challenges."Phase"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7096 (class 2606 OID 2005228) +-- Name: ChallengePrizeSet ChallengePrizeSet_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengePrizeSet" + ADD CONSTRAINT "ChallengePrizeSet_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7098 (class 2606 OID 2005271) +-- Name: ChallengeReviewer ChallengeReviewer_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeReviewer" + ADD CONSTRAINT "ChallengeReviewer_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7099 (class 2606 OID 2005276) +-- Name: ChallengeReviewer ChallengeReviewer_phaseId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeReviewer" + ADD CONSTRAINT "ChallengeReviewer_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES challenges."Phase"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7086 (class 2606 OID 2005178) +-- Name: ChallengeSkill ChallengeSkill_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeSkill" + ADD CONSTRAINT "ChallengeSkill_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7085 (class 2606 OID 2005173) +-- Name: ChallengeTerm ChallengeTerm_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeTerm" + ADD CONSTRAINT "ChallengeTerm_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7077 (class 2606 OID 2005133) +-- Name: ChallengeTimelineTemplate ChallengeTimelineTemplate_timelineTemplateId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeTimelineTemplate" + ADD CONSTRAINT "ChallengeTimelineTemplate_timelineTemplateId_fkey" FOREIGN KEY ("timelineTemplateId") REFERENCES challenges."TimelineTemplate"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7078 (class 2606 OID 2005138) +-- Name: ChallengeTimelineTemplate ChallengeTimelineTemplate_trackId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeTimelineTemplate" + ADD CONSTRAINT "ChallengeTimelineTemplate_trackId_fkey" FOREIGN KEY ("trackId") REFERENCES challenges."ChallengeTrack"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7079 (class 2606 OID 2005143) +-- Name: ChallengeTimelineTemplate ChallengeTimelineTemplate_typeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeTimelineTemplate" + ADD CONSTRAINT "ChallengeTimelineTemplate_typeId_fkey" FOREIGN KEY ("typeId") REFERENCES challenges."ChallengeType"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7084 (class 2606 OID 2005168) +-- Name: ChallengeWinner ChallengeWinner_challengeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."ChallengeWinner" + ADD CONSTRAINT "ChallengeWinner_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES challenges."Challenge"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7074 (class 2606 OID 2005128) +-- Name: Challenge Challenge_timelineTemplateId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."Challenge" + ADD CONSTRAINT "Challenge_timelineTemplateId_fkey" FOREIGN KEY ("timelineTemplateId") REFERENCES challenges."TimelineTemplate"(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7075 (class 2606 OID 2005123) +-- Name: Challenge Challenge_trackId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."Challenge" + ADD CONSTRAINT "Challenge_trackId_fkey" FOREIGN KEY ("trackId") REFERENCES challenges."ChallengeTrack"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7076 (class 2606 OID 2005118) +-- Name: Challenge Challenge_typeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."Challenge" + ADD CONSTRAINT "Challenge_typeId_fkey" FOREIGN KEY ("typeId") REFERENCES challenges."ChallengeType"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7100 (class 2606 OID 2005338) +-- Name: DefaultChallengeReviewer DefaultChallengeReviewer_phaseId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."DefaultChallengeReviewer" + ADD CONSTRAINT "DefaultChallengeReviewer_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES challenges."Phase"(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7101 (class 2606 OID 2005348) +-- Name: DefaultChallengeReviewer DefaultChallengeReviewer_timelineTemplateId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."DefaultChallengeReviewer" + ADD CONSTRAINT "DefaultChallengeReviewer_timelineTemplateId_fkey" FOREIGN KEY ("timelineTemplateId") REFERENCES challenges."TimelineTemplate"(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7102 (class 2606 OID 2005307) +-- Name: DefaultChallengeReviewer DefaultChallengeReviewer_trackId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."DefaultChallengeReviewer" + ADD CONSTRAINT "DefaultChallengeReviewer_trackId_fkey" FOREIGN KEY ("trackId") REFERENCES challenges."ChallengeTrack"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7103 (class 2606 OID 2005302) +-- Name: DefaultChallengeReviewer DefaultChallengeReviewer_typeId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."DefaultChallengeReviewer" + ADD CONSTRAINT "DefaultChallengeReviewer_typeId_fkey" FOREIGN KEY ("typeId") REFERENCES challenges."ChallengeType"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7083 (class 2606 OID 2005163) +-- Name: Prize Prize_prizeSetId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."Prize" + ADD CONSTRAINT "Prize_prizeSetId_fkey" FOREIGN KEY ("prizeSetId") REFERENCES challenges."ChallengePrizeSet"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7097 (class 2606 OID 2005233) +-- Name: TimelineTemplatePhase TimelineTemplatePhase_timelineTemplateId_fkey; Type: FK CONSTRAINT; Schema: challenges; Owner: challenges +-- + +ALTER TABLE ONLY challenges."TimelineTemplatePhase" + ADD CONSTRAINT "TimelineTemplatePhase_timelineTemplateId_fkey" FOREIGN KEY ("timelineTemplateId") REFERENCES challenges."TimelineTemplate"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6998 (class 2606 OID 1334662) +-- Name: audit audit_winnings_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.audit + ADD CONSTRAINT audit_winnings_id_fkey FOREIGN KEY (winnings_id) REFERENCES finance.winnings(winning_id); + + +-- +-- TOC entry 7007 (class 2606 OID 1334786) +-- Name: trolley_recipient_payment_method fk_trolley_recipient_trolley_recipient_payment_method; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.trolley_recipient_payment_method + ADD CONSTRAINT fk_trolley_recipient_trolley_recipient_payment_method FOREIGN KEY (trolley_recipient_id) REFERENCES finance.trolley_recipient(id) ON DELETE CASCADE; + + +-- +-- TOC entry 7006 (class 2606 OID 1334760) +-- Name: trolley_recipient fk_trolley_user_payment_method; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.trolley_recipient + ADD CONSTRAINT fk_trolley_user_payment_method FOREIGN KEY (user_payment_method_id) REFERENCES finance.user_payment_methods(id) ON DELETE CASCADE; + + +-- +-- TOC entry 7004 (class 2606 OID 1334717) +-- Name: user_payment_methods fk_user_payment_method; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.user_payment_methods + ADD CONSTRAINT fk_user_payment_method FOREIGN KEY (payment_method_id) REFERENCES finance.payment_method(payment_method_id); + + +-- +-- TOC entry 6999 (class 2606 OID 1334672) +-- Name: payment payment_payment_method_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.payment + ADD CONSTRAINT payment_payment_method_id_fkey FOREIGN KEY (payment_method_id) REFERENCES finance.payment_method(payment_method_id); + + +-- +-- TOC entry 7001 (class 2606 OID 1334682) +-- Name: payment_release_associations payment_release_associations_payment_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.payment_release_associations + ADD CONSTRAINT payment_release_associations_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES finance.payment(payment_id); + + +-- +-- TOC entry 7002 (class 2606 OID 1334687) +-- Name: payment_release_associations payment_release_associations_payment_release_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.payment_release_associations + ADD CONSTRAINT payment_release_associations_payment_release_id_fkey FOREIGN KEY (payment_release_id) REFERENCES finance.payment_releases(payment_release_id); + + +-- +-- TOC entry 7003 (class 2606 OID 1334692) +-- Name: payment_releases payment_releases_payment_method_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.payment_releases + ADD CONSTRAINT payment_releases_payment_method_id_fkey FOREIGN KEY (payment_method_id) REFERENCES finance.payment_method(payment_method_id); + + +-- +-- TOC entry 7000 (class 2606 OID 1334677) +-- Name: payment payment_winnings_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.payment + ADD CONSTRAINT payment_winnings_id_fkey FOREIGN KEY (winnings_id) REFERENCES finance.winnings(winning_id); + + +-- +-- TOC entry 7005 (class 2606 OID 1334727) +-- Name: winnings winnings_origin_id_fkey; Type: FK CONSTRAINT; Schema: finance; Owner: finance +-- + +ALTER TABLE ONLY finance.winnings + ADD CONSTRAINT winnings_origin_id_fkey FOREIGN KEY (origin_id) REFERENCES finance.origin(origin_id); + + +-- +-- TOC entry 7008 (class 2606 OID 1347926) +-- Name: badge_custom_fields badge_custom_fields_organization_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.badge_custom_fields + ADD CONSTRAINT badge_custom_fields_organization_id_fkey FOREIGN KEY (organization_id) REFERENCES gamification.organization(id) NOT VALID; + + +-- +-- TOC entry 7009 (class 2606 OID 1347931) +-- Name: member_badges member_badges_org_badge_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.member_badges + ADD CONSTRAINT member_badges_org_badge_id_fkey FOREIGN KEY (org_badge_id) REFERENCES gamification.organization_badges(id) NOT VALID; + + +-- +-- TOC entry 7011 (class 2606 OID 1347936) +-- Name: organization_badges_custom_fields organization_badges_custom_fields_badges_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.organization_badges_custom_fields + ADD CONSTRAINT organization_badges_custom_fields_badges_id_fkey FOREIGN KEY (badges_id) REFERENCES gamification.organization_badges(id) NOT VALID; + + +-- +-- TOC entry 7012 (class 2606 OID 1347941) +-- Name: organization_badges_custom_fields organization_badges_custom_fields_custom_field_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.organization_badges_custom_fields + ADD CONSTRAINT organization_badges_custom_fields_custom_field_id_fkey FOREIGN KEY (custom_field_id) REFERENCES gamification.badge_custom_fields(field_def_id) NOT VALID; + + +-- +-- TOC entry 7010 (class 2606 OID 1347946) +-- Name: organization_badges organization_badges_organization_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.organization_badges + ADD CONSTRAINT organization_badges_organization_id_fkey FOREIGN KEY (organization_id) REFERENCES gamification.organization(id) NOT VALID; + + +-- +-- TOC entry 7013 (class 2606 OID 1347951) +-- Name: organization_badges_tags organization_badges_tags_organization_badges_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.organization_badges_tags + ADD CONSTRAINT organization_badges_tags_organization_badges_id_fkey FOREIGN KEY (organization_badges_id) REFERENCES gamification.organization_badges(id) NOT VALID; + + +-- +-- TOC entry 7014 (class 2606 OID 1347956) +-- Name: organization_badges_tags organization_badges_tags_tags_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.organization_badges_tags + ADD CONSTRAINT organization_badges_tags_tags_id_fkey FOREIGN KEY (tags_id) REFERENCES gamification.tags(id) NOT VALID; + + +-- +-- TOC entry 7015 (class 2606 OID 1347961) +-- Name: tags tags_organization_id_fkey; Type: FK CONSTRAINT; Schema: gamification; Owner: topcoder +-- + +ALTER TABLE ONLY gamification.tags + ADD CONSTRAINT tags_organization_id_fkey FOREIGN KEY (organization_id) REFERENCES gamification.organization(id) NOT VALID; + + +-- +-- TOC entry 7171 (class 2606 OID 2070316) +-- Name: GroupMember GroupMember_groupId_fkey; Type: FK CONSTRAINT; Schema: groups; Owner: groups +-- + +ALTER TABLE ONLY groups."GroupMember" + ADD CONSTRAINT "GroupMember_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES groups."Group"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7172 (class 2606 OID 2070321) +-- Name: _ParentSubGroups _ParentSubGroups_A_fkey; Type: FK CONSTRAINT; Schema: groups; Owner: groups +-- + +ALTER TABLE ONLY groups."_ParentSubGroups" + ADD CONSTRAINT "_ParentSubGroups_A_fkey" FOREIGN KEY ("A") REFERENCES groups."Group"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7173 (class 2606 OID 2070326) +-- Name: _ParentSubGroups _ParentSubGroups_B_fkey; Type: FK CONSTRAINT; Schema: groups; Owner: groups +-- + +ALTER TABLE ONLY groups."_ParentSubGroups" + ADD CONSTRAINT "_ParentSubGroups_B_fkey" FOREIGN KEY ("B") REFERENCES groups."Group"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7057 (class 2606 OID 1832102) +-- Name: user_achievement achv_type_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_achievement + ADD CONSTRAINT achv_type_fk FOREIGN KEY (achievement_type_id) REFERENCES identity.achievement_type_lu(achievement_type_id); + + +-- +-- TOC entry 7058 (class 2606 OID 1832107) +-- Name: user_achievement achv_user_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_achievement + ADD CONSTRAINT achv_user_fk FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7052 (class 2606 OID 1832077) +-- Name: dice_connection dice_connection_user_id_fkey; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.dice_connection + ADD CONSTRAINT dice_connection_user_id_fkey FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7053 (class 2606 OID 1832082) +-- Name: email email_emailstatuslu_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.email + ADD CONSTRAINT email_emailstatuslu_fk FOREIGN KEY (status_id) REFERENCES identity.email_status_lu(status_id); + + +-- +-- TOC entry 7054 (class 2606 OID 1832087) +-- Name: email email_emailtypelu_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.email + ADD CONSTRAINT email_emailtypelu_fk FOREIGN KEY (email_type_id) REFERENCES identity.email_type_lu(email_type_id); + + +-- +-- TOC entry 7055 (class 2606 OID 1832092) +-- Name: email email_user_id_fkey; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.email + ADD CONSTRAINT email_user_id_fkey FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7059 (class 2606 OID 1832112) +-- Name: user_group_xref fk_user_grp_xref1; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_group_xref + ADD CONSTRAINT fk_user_grp_xref1 FOREIGN KEY (login_id) REFERENCES identity.security_user(login_id) ON DELETE CASCADE; + + +-- +-- TOC entry 7060 (class 2606 OID 1832117) +-- Name: user_group_xref fk_user_grp_xref2; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_group_xref + ADD CONSTRAINT fk_user_grp_xref2 FOREIGN KEY (group_id) REFERENCES identity.security_groups(group_id) ON DELETE CASCADE; + + +-- +-- TOC entry 7073 (class 2606 OID 1832182) +-- Name: role_assignment role_id; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.role_assignment + ADD CONSTRAINT role_id FOREIGN KEY (role_id) REFERENCES identity.role(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7056 (class 2606 OID 1832097) +-- Name: user_2fa user_2fa_user_id_fkey; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_2fa + ADD CONSTRAINT user_2fa_user_id_fkey FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7070 (class 2606 OID 1832172) +-- Name: user_email_xref user_email_xref_email_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_email_xref + ADD CONSTRAINT user_email_xref_email_fk FOREIGN KEY (email_id) REFERENCES identity.email(email_id); + + +-- +-- TOC entry 7071 (class 2606 OID 1832177) +-- Name: user_email_xref user_email_xref_status_id_fkey; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_email_xref + ADD CONSTRAINT user_email_xref_status_id_fkey FOREIGN KEY (status_id) REFERENCES identity.email_status_lu(status_id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7072 (class 2606 OID 1832167) +-- Name: user_email_xref user_email_xref_user_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_email_xref + ADD CONSTRAINT user_email_xref_user_fk FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7062 (class 2606 OID 1832127) +-- Name: user_otp_email user_otp_email_user_id_fkey; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_otp_email + ADD CONSTRAINT user_otp_email_user_id_fkey FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7063 (class 2606 OID 1832132) +-- Name: user_social_login user_social_provider_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_social_login + ADD CONSTRAINT user_social_provider_fk FOREIGN KEY (social_login_provider_id) REFERENCES identity.social_login_provider(social_login_provider_id); + + +-- +-- TOC entry 7064 (class 2606 OID 1832137) +-- Name: user_social_login user_social_user_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_social_login + ADD CONSTRAINT user_social_user_fk FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7065 (class 2606 OID 1832142) +-- Name: user_sso_login user_sso_login_provider_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_sso_login + ADD CONSTRAINT user_sso_login_provider_fk FOREIGN KEY (provider_id) REFERENCES identity.sso_login_provider(sso_login_provider_id); + + +-- +-- TOC entry 7066 (class 2606 OID 1832147) +-- Name: user_sso_login user_sso_login_user_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_sso_login + ADD CONSTRAINT user_sso_login_user_fk FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7061 (class 2606 OID 1832122) +-- Name: user_group_xref usergroupxref_status_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_group_xref + ADD CONSTRAINT usergroupxref_status_fk FOREIGN KEY (security_status_id) REFERENCES identity.security_status_lu(security_status_id); + + +-- +-- TOC entry 7067 (class 2606 OID 1832152) +-- Name: user_status userstatus_user_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_status + ADD CONSTRAINT userstatus_user_fk FOREIGN KEY (user_id) REFERENCES identity."user"(user_id); + + +-- +-- TOC entry 7068 (class 2606 OID 1832157) +-- Name: user_status userstatus_userstatuslu_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_status + ADD CONSTRAINT userstatus_userstatuslu_fk FOREIGN KEY (user_status_id) REFERENCES identity.user_status_lu(user_status_id); + + +-- +-- TOC entry 7069 (class 2606 OID 1832162) +-- Name: user_status userstatus_userstatustype_fk; Type: FK CONSTRAINT; Schema: identity; Owner: identity +-- + +ALTER TABLE ONLY identity.user_status + ADD CONSTRAINT userstatus_userstatustype_fk FOREIGN KEY (user_status_type_id) REFERENCES identity.user_status_type_lu(user_status_type_id); + + +-- +-- TOC entry 7106 (class 2606 OID 2023990) +-- Name: memberAddress memberAddress_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberAddress" + ADD CONSTRAINT "memberAddress_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7114 (class 2606 OID 2024030) +-- Name: memberCopilotStats memberCopilotStats_memberStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberCopilotStats" + ADD CONSTRAINT "memberCopilotStats_memberStatsId_fkey" FOREIGN KEY ("memberStatsId") REFERENCES members."memberStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7111 (class 2606 OID 2024015) +-- Name: memberDataScienceHistoryStats memberDataScienceHistoryStats_historyStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDataScienceHistoryStats" + ADD CONSTRAINT "memberDataScienceHistoryStats_historyStatsId_fkey" FOREIGN KEY ("historyStatsId") REFERENCES members."memberHistoryStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7119 (class 2606 OID 2024055) +-- Name: memberDataScienceStats memberDataScienceStats_memberStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDataScienceStats" + ADD CONSTRAINT "memberDataScienceStats_memberStatsId_fkey" FOREIGN KEY ("memberStatsId") REFERENCES members."memberStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7118 (class 2606 OID 2024050) +-- Name: memberDesignStatsItem memberDesignStatsItem_designStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDesignStatsItem" + ADD CONSTRAINT "memberDesignStatsItem_designStatsId_fkey" FOREIGN KEY ("designStatsId") REFERENCES members."memberDesignStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7117 (class 2606 OID 2024045) +-- Name: memberDesignStats memberDesignStats_memberStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDesignStats" + ADD CONSTRAINT "memberDesignStats_memberStatsId_fkey" FOREIGN KEY ("memberStatsId") REFERENCES members."memberStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7110 (class 2606 OID 2024010) +-- Name: memberDevelopHistoryStats memberDevelopHistoryStats_historyStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDevelopHistoryStats" + ADD CONSTRAINT "memberDevelopHistoryStats_historyStatsId_fkey" FOREIGN KEY ("historyStatsId") REFERENCES members."memberHistoryStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7116 (class 2606 OID 2024040) +-- Name: memberDevelopStatsItem memberDevelopStatsItem_developStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDevelopStatsItem" + ADD CONSTRAINT "memberDevelopStatsItem_developStatsId_fkey" FOREIGN KEY ("developStatsId") REFERENCES members."memberDevelopStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7115 (class 2606 OID 2024035) +-- Name: memberDevelopStats memberDevelopStats_memberStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberDevelopStats" + ADD CONSTRAINT "memberDevelopStats_memberStatsId_fkey" FOREIGN KEY ("memberStatsId") REFERENCES members."memberStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7108 (class 2606 OID 2024000) +-- Name: memberFinancial memberFinancial_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberFinancial" + ADD CONSTRAINT "memberFinancial_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7109 (class 2606 OID 2024005) +-- Name: memberHistoryStats memberHistoryStats_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberHistoryStats" + ADD CONSTRAINT "memberHistoryStats_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7123 (class 2606 OID 2024075) +-- Name: memberMarathonStats memberMarathonStats_dataScienceStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberMarathonStats" + ADD CONSTRAINT "memberMarathonStats_dataScienceStatsId_fkey" FOREIGN KEY ("dataScienceStatsId") REFERENCES members."memberDataScienceStats"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7107 (class 2606 OID 2023995) +-- Name: memberMaxRating memberMaxRating_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberMaxRating" + ADD CONSTRAINT "memberMaxRating_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7139 (class 2606 OID 2024155) +-- Name: memberSkillLevel memberSkillLevel_memberSkillId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkillLevel" + ADD CONSTRAINT "memberSkillLevel_memberSkillId_fkey" FOREIGN KEY ("memberSkillId") REFERENCES members."memberSkill"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7140 (class 2606 OID 2024160) +-- Name: memberSkillLevel memberSkillLevel_skillLevelId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkillLevel" + ADD CONSTRAINT "memberSkillLevel_skillLevelId_fkey" FOREIGN KEY ("skillLevelId") REFERENCES members."skillLevel"(id) ON UPDATE CASCADE; + + +-- +-- TOC entry 7136 (class 2606 OID 2024140) +-- Name: memberSkill memberSkill_displayModeId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkill" + ADD CONSTRAINT "memberSkill_displayModeId_fkey" FOREIGN KEY ("displayModeId") REFERENCES members."displayMode"(id) ON UPDATE CASCADE; + + +-- +-- TOC entry 7137 (class 2606 OID 2024145) +-- Name: memberSkill memberSkill_skillId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkill" + ADD CONSTRAINT "memberSkill_skillId_fkey" FOREIGN KEY ("skillId") REFERENCES members.skill(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7138 (class 2606 OID 2024150) +-- Name: memberSkill memberSkill_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSkill" + ADD CONSTRAINT "memberSkill_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7121 (class 2606 OID 2024065) +-- Name: memberSrmChallengeDetail memberSrmChallengeDetail_srmStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmChallengeDetail" + ADD CONSTRAINT "memberSrmChallengeDetail_srmStatsId_fkey" FOREIGN KEY ("srmStatsId") REFERENCES members."memberSrmStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7122 (class 2606 OID 2024070) +-- Name: memberSrmDivisionDetail memberSrmDivisionDetail_srmStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmDivisionDetail" + ADD CONSTRAINT "memberSrmDivisionDetail_srmStatsId_fkey" FOREIGN KEY ("srmStatsId") REFERENCES members."memberSrmStats"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7120 (class 2606 OID 2024060) +-- Name: memberSrmStats memberSrmStats_dataScienceStatsId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberSrmStats" + ADD CONSTRAINT "memberSrmStats_dataScienceStatsId_fkey" FOREIGN KEY ("dataScienceStatsId") REFERENCES members."memberDataScienceStats"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7112 (class 2606 OID 2024020) +-- Name: memberStats memberStats_memberRatingId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberStats" + ADD CONSTRAINT "memberStats_memberRatingId_fkey" FOREIGN KEY ("memberRatingId") REFERENCES members."memberMaxRating"(id) ON UPDATE CASCADE; + + +-- +-- TOC entry 7113 (class 2606 OID 2024025) +-- Name: memberStats memberStats_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberStats" + ADD CONSTRAINT "memberStats_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7130 (class 2606 OID 2024110) +-- Name: memberTraitBasicInfo memberTraitBasicInfo_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitBasicInfo" + ADD CONSTRAINT "memberTraitBasicInfo_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7134 (class 2606 OID 2024130) +-- Name: memberTraitCommunity memberTraitCommunity_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitCommunity" + ADD CONSTRAINT "memberTraitCommunity_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7125 (class 2606 OID 2024085) +-- Name: memberTraitDevice memberTraitDevice_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitDevice" + ADD CONSTRAINT "memberTraitDevice_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7129 (class 2606 OID 2024105) +-- Name: memberTraitEducation memberTraitEducation_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitEducation" + ADD CONSTRAINT "memberTraitEducation_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7131 (class 2606 OID 2024115) +-- Name: memberTraitLanguage memberTraitLanguage_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitLanguage" + ADD CONSTRAINT "memberTraitLanguage_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7132 (class 2606 OID 2024120) +-- Name: memberTraitOnboardChecklist memberTraitOnboardChecklist_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitOnboardChecklist" + ADD CONSTRAINT "memberTraitOnboardChecklist_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7133 (class 2606 OID 2024125) +-- Name: memberTraitPersonalization memberTraitPersonalization_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitPersonalization" + ADD CONSTRAINT "memberTraitPersonalization_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7127 (class 2606 OID 2024095) +-- Name: memberTraitServiceProvider memberTraitServiceProvider_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitServiceProvider" + ADD CONSTRAINT "memberTraitServiceProvider_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7126 (class 2606 OID 2024090) +-- Name: memberTraitSoftware memberTraitSoftware_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitSoftware" + ADD CONSTRAINT "memberTraitSoftware_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7128 (class 2606 OID 2024100) +-- Name: memberTraitWork memberTraitWork_memberTraitId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraitWork" + ADD CONSTRAINT "memberTraitWork_memberTraitId_fkey" FOREIGN KEY ("memberTraitId") REFERENCES members."memberTraits"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7124 (class 2606 OID 2024080) +-- Name: memberTraits memberTraits_userId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members."memberTraits" + ADD CONSTRAINT "memberTraits_userId_fkey" FOREIGN KEY ("userId") REFERENCES members.member("userId") ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7135 (class 2606 OID 2024135) +-- Name: skill skill_categoryId_fkey; Type: FK CONSTRAINT; Schema: members; Owner: members +-- + +ALTER TABLE ONLY members.skill + ADD CONSTRAINT "skill_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES members."skillCategory"(id) ON UPDATE CASCADE; + + +-- +-- TOC entry 7034 (class 2606 OID 1436648) +-- Name: bulk_message_user_refs bulk_message_user_refs_bulk_message_id_fkey; Type: FK CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications.bulk_message_user_refs + ADD CONSTRAINT bulk_message_user_refs_bulk_message_id_fkey FOREIGN KEY (bulk_message_id) REFERENCES notifications.bulk_messages(id); + + +-- +-- TOC entry 7035 (class 2606 OID 1436653) +-- Name: bulk_message_user_refs bulk_message_user_refs_notification_id_fkey; Type: FK CONSTRAINT; Schema: notifications; Owner: topcoder +-- + +ALTER TABLE ONLY notifications.bulk_message_user_refs + ADD CONSTRAINT bulk_message_user_refs_notification_id_fkey FOREIGN KEY (notification_id) REFERENCES notifications."Notifications"(id); + + +-- +-- TOC entry 6997 (class 2606 OID 1332743) +-- Name: copilot_applications copilot_applications_opportunityId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: projects +-- + +ALTER TABLE ONLY projects.copilot_applications + ADD CONSTRAINT "copilot_applications_opportunityId_fkey" FOREIGN KEY ("opportunityId") REFERENCES projects.copilot_opportunities(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6980 (class 2606 OID 1324171) +-- Name: copilot_opportunities copilot_opportunities_copilotRequestId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_opportunities + ADD CONSTRAINT "copilot_opportunities_copilotRequestId_fkey" FOREIGN KEY ("copilotRequestId") REFERENCES projects.copilot_requests(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6981 (class 2606 OID 1324176) +-- Name: copilot_opportunities copilot_opportunities_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_opportunities + ADD CONSTRAINT "copilot_opportunities_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6982 (class 2606 OID 1333132) +-- Name: copilot_requests copilot_requests_copilotOpportunityId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_requests + ADD CONSTRAINT "copilot_requests_copilotOpportunityId_fkey" FOREIGN KEY ("copilotOpportunityId") REFERENCES projects.copilot_opportunities(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6983 (class 2606 OID 1324181) +-- Name: copilot_requests copilot_requests_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.copilot_requests + ADD CONSTRAINT "copilot_requests_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6984 (class 2606 OID 1324186) +-- Name: milestones milestones_timelineId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.milestones + ADD CONSTRAINT "milestones_timelineId_fkey" FOREIGN KEY ("timelineId") REFERENCES projects.timelines(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6985 (class 2606 OID 1324191) +-- Name: phase_products phase_products_phaseId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.phase_products + ADD CONSTRAINT "phase_products_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES projects.project_phases(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6986 (class 2606 OID 1324196) +-- Name: phase_work_streams phase_work_streams_phaseId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.phase_work_streams + ADD CONSTRAINT "phase_work_streams_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES projects.project_phases(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6987 (class 2606 OID 1324201) +-- Name: phase_work_streams phase_work_streams_workStreamId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.phase_work_streams + ADD CONSTRAINT "phase_work_streams_workStreamId_fkey" FOREIGN KEY ("workStreamId") REFERENCES projects.work_streams(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6988 (class 2606 OID 1324206) +-- Name: project_attachments project_attachments_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_attachments + ADD CONSTRAINT "project_attachments_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6989 (class 2606 OID 1333137) +-- Name: project_member_invites project_member_invites_applicationId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_member_invites + ADD CONSTRAINT "project_member_invites_applicationId_fkey" FOREIGN KEY ("applicationId") REFERENCES projects.copilot_applications(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6990 (class 2606 OID 1324211) +-- Name: project_member_invites project_member_invites_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_member_invites + ADD CONSTRAINT "project_member_invites_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6991 (class 2606 OID 1324216) +-- Name: project_members project_members_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_members + ADD CONSTRAINT "project_members_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6992 (class 2606 OID 1324221) +-- Name: project_phase_approval project_phase_approval_phaseId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phase_approval + ADD CONSTRAINT "project_phase_approval_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES projects.project_phases(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6993 (class 2606 OID 1324226) +-- Name: project_phase_member project_phase_member_phaseId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phase_member + ADD CONSTRAINT "project_phase_member_phaseId_fkey" FOREIGN KEY ("phaseId") REFERENCES projects.project_phases(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6994 (class 2606 OID 1324231) +-- Name: project_phases project_phases_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.project_phases + ADD CONSTRAINT "project_phases_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 6995 (class 2606 OID 1324236) +-- Name: scope_change_requests scope_change_requests_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.scope_change_requests + ADD CONSTRAINT "scope_change_requests_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 6996 (class 2606 OID 1324241) +-- Name: work_streams work_streams_projectId_fkey; Type: FK CONSTRAINT; Schema: projects; Owner: topcoder +-- + +ALTER TABLE ONLY projects.work_streams + ADD CONSTRAINT "work_streams_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES projects.projects(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7105 (class 2606 OID 2015739) +-- Name: ResourceRolePhaseDependency ResourceRolePhaseDependency_resourceRoleId_fkey; Type: FK CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources."ResourceRolePhaseDependency" + ADD CONSTRAINT "ResourceRolePhaseDependency_resourceRoleId_fkey" FOREIGN KEY ("resourceRoleId") REFERENCES resources."ResourceRole"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7104 (class 2606 OID 2015734) +-- Name: Resource Resource_roleId_fkey; Type: FK CONSTRAINT; Schema: resources; Owner: resources +-- + +ALTER TABLE ONLY resources."Resource" + ADD CONSTRAINT "Resource_roleId_fkey" FOREIGN KEY ("roleId") REFERENCES resources."ResourceRole"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7162 (class 2606 OID 2034307) +-- Name: aiWorkflowRunItemComment aiWorkflowRunItemComment_parentId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItemComment" + ADD CONSTRAINT "aiWorkflowRunItemComment_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES reviews."aiWorkflowRunItemComment"(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7163 (class 2606 OID 2034302) +-- Name: aiWorkflowRunItemComment aiWorkflowRunItemComment_workflowRunItemId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItemComment" + ADD CONSTRAINT "aiWorkflowRunItemComment_workflowRunItemId_fkey" FOREIGN KEY ("workflowRunItemId") REFERENCES reviews."aiWorkflowRunItem"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7160 (class 2606 OID 2034297) +-- Name: aiWorkflowRunItem aiWorkflowRunItem_scorecardQuestionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItem" + ADD CONSTRAINT "aiWorkflowRunItem_scorecardQuestionId_fkey" FOREIGN KEY ("scorecardQuestionId") REFERENCES reviews."scorecardQuestion"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7161 (class 2606 OID 2034292) +-- Name: aiWorkflowRunItem aiWorkflowRunItem_workflowRunId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRunItem" + ADD CONSTRAINT "aiWorkflowRunItem_workflowRunId_fkey" FOREIGN KEY ("workflowRunId") REFERENCES reviews."aiWorkflowRun"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7158 (class 2606 OID 2034287) +-- Name: aiWorkflowRun aiWorkflowRun_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRun" + ADD CONSTRAINT "aiWorkflowRun_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7159 (class 2606 OID 2034282) +-- Name: aiWorkflowRun aiWorkflowRun_workflowId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflowRun" + ADD CONSTRAINT "aiWorkflowRun_workflowId_fkey" FOREIGN KEY ("workflowId") REFERENCES reviews."aiWorkflow"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7156 (class 2606 OID 2034272) +-- Name: aiWorkflow aiWorkflow_llmId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflow" + ADD CONSTRAINT "aiWorkflow_llmId_fkey" FOREIGN KEY ("llmId") REFERENCES reviews."llmModel"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7157 (class 2606 OID 2034277) +-- Name: aiWorkflow aiWorkflow_scorecardId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."aiWorkflow" + ADD CONSTRAINT "aiWorkflow_scorecardId_fkey" FOREIGN KEY ("scorecardId") REFERENCES reviews.scorecard(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7149 (class 2606 OID 2033877) +-- Name: appealResponse appealResponse_appealId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."appealResponse" + ADD CONSTRAINT "appealResponse_appealId_fkey" FOREIGN KEY ("appealId") REFERENCES reviews.appeal(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7148 (class 2606 OID 2033872) +-- Name: appeal appeal_reviewItemCommentId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.appeal + ADD CONSTRAINT "appeal_reviewItemCommentId_fkey" FOREIGN KEY ("reviewItemCommentId") REFERENCES reviews."reviewItemComment"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7155 (class 2606 OID 2034267) +-- Name: llmModel llmModel_providerId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."llmModel" + ADD CONSTRAINT "llmModel_providerId_fkey" FOREIGN KEY ("providerId") REFERENCES reviews."llmProvider"(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + +-- +-- TOC entry 7154 (class 2606 OID 2034187) +-- Name: resourceSubmission resourceSubmission_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."resourceSubmission" + ADD CONSTRAINT "resourceSubmission_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7150 (class 2606 OID 2034206) +-- Name: reviewApplication reviewApplication_opportunityId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewApplication" + ADD CONSTRAINT "reviewApplication_opportunityId_fkey" FOREIGN KEY ("opportunityId") REFERENCES reviews."reviewOpportunity"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7164 (class 2606 OID 2034343) +-- Name: reviewAudit reviewAudit_reviewId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewAudit" + ADD CONSTRAINT "reviewAudit_reviewId_fkey" FOREIGN KEY ("reviewId") REFERENCES reviews.review(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7165 (class 2606 OID 2034348) +-- Name: reviewAudit reviewAudit_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewAudit" + ADD CONSTRAINT "reviewAudit_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7147 (class 2606 OID 2033867) +-- Name: reviewItemComment reviewItemComment_reviewItemId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewItemComment" + ADD CONSTRAINT "reviewItemComment_reviewItemId_fkey" FOREIGN KEY ("reviewItemId") REFERENCES reviews."reviewItem"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7146 (class 2606 OID 2034021) +-- Name: reviewItem reviewItem_reviewId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewItem" + ADD CONSTRAINT "reviewItem_reviewId_fkey" FOREIGN KEY ("reviewId") REFERENCES reviews.review(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7151 (class 2606 OID 2064084) +-- Name: reviewSummation reviewSummation_scorecardId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewSummation" + ADD CONSTRAINT "reviewSummation_scorecardId_fkey" FOREIGN KEY ("scorecardId") REFERENCES reviews.scorecard(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7152 (class 2606 OID 2034172) +-- Name: reviewSummation reviewSummation_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."reviewSummation" + ADD CONSTRAINT "reviewSummation_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7144 (class 2606 OID 2033857) +-- Name: review review_scorecardId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.review + ADD CONSTRAINT "review_scorecardId_fkey" FOREIGN KEY ("scorecardId") REFERENCES reviews.scorecard(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7145 (class 2606 OID 2034167) +-- Name: review review_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.review + ADD CONSTRAINT "review_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7141 (class 2606 OID 2033842) +-- Name: scorecardGroup scorecardGroup_scorecardId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardGroup" + ADD CONSTRAINT "scorecardGroup_scorecardId_fkey" FOREIGN KEY ("scorecardId") REFERENCES reviews.scorecard(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7143 (class 2606 OID 2033852) +-- Name: scorecardQuestion scorecardQuestion_scorecardSectionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardQuestion" + ADD CONSTRAINT "scorecardQuestion_scorecardSectionId_fkey" FOREIGN KEY ("scorecardSectionId") REFERENCES reviews."scorecardSection"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7142 (class 2606 OID 2033847) +-- Name: scorecardSection scorecardSection_scorecardGroupId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."scorecardSection" + ADD CONSTRAINT "scorecardSection_scorecardGroupId_fkey" FOREIGN KEY ("scorecardGroupId") REFERENCES reviews."scorecardGroup"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7166 (class 2606 OID 2034367) +-- Name: submissionAccessAudit submissionAccessAudit_submissionId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews."submissionAccessAudit" + ADD CONSTRAINT "submissionAccessAudit_submissionId_fkey" FOREIGN KEY ("submissionId") REFERENCES reviews.submission(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7153 (class 2606 OID 2034177) +-- Name: submission submission_uploadId_fkey; Type: FK CONSTRAINT; Schema: reviews; Owner: reviews +-- + +ALTER TABLE ONLY reviews.submission + ADD CONSTRAINT "submission_uploadId_fkey" FOREIGN KEY ("uploadId") REFERENCES reviews.upload(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7045 (class 2606 OID 1477301) +-- Name: skill_event fk_event; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT fk_event FOREIGN KEY (event_id) REFERENCES skills.event(id) NOT VALID; + + +-- +-- TOC entry 7046 (class 2606 OID 1477306) +-- Name: skill_event fk_skill; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT fk_skill FOREIGN KEY (skill_id) REFERENCES skills.skill(id) NOT VALID; + + +-- +-- TOC entry 7049 (class 2606 OID 1477311) +-- Name: user_skill fk_skill; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill + ADD CONSTRAINT fk_skill FOREIGN KEY (skill_id) REFERENCES skills.skill(id) NOT VALID; + + +-- +-- TOC entry 7044 (class 2606 OID 1477316) +-- Name: skill fk_skill_category; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill + ADD CONSTRAINT fk_skill_category FOREIGN KEY (category_id) REFERENCES skills.skill_category(id) NOT VALID; + + +-- +-- TOC entry 7047 (class 2606 OID 1477321) +-- Name: skill_event fk_skill_event_type; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT fk_skill_event_type FOREIGN KEY (skill_event_type_id) REFERENCES skills.skill_event_type(id) NOT VALID; + + +-- +-- TOC entry 7048 (class 2606 OID 1477326) +-- Name: skill_event fk_source_type; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.skill_event + ADD CONSTRAINT fk_source_type FOREIGN KEY (source_type_id) REFERENCES skills.source_type(id) NOT VALID; + + +-- +-- TOC entry 7050 (class 2606 OID 1477331) +-- Name: user_skill fk_user_skill_level; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill + ADD CONSTRAINT fk_user_skill_level FOREIGN KEY (user_skill_level_id) REFERENCES skills.user_skill_level(id) NOT VALID; + + +-- +-- TOC entry 7043 (class 2606 OID 1477336) +-- Name: legacy_skill_map skill_fkey; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.legacy_skill_map + ADD CONSTRAINT skill_fkey FOREIGN KEY (skill_id) REFERENCES skills.skill(id); + + +-- +-- TOC entry 7051 (class 2606 OID 1477341) +-- Name: user_skill user_skill_user_skill_display_mode_id_fkey; Type: FK CONSTRAINT; Schema: skills; Owner: topcoder +-- + +ALTER TABLE ONLY skills.user_skill + ADD CONSTRAINT user_skill_user_skill_display_mode_id_fkey FOREIGN KEY (user_skill_display_mode_id) REFERENCES skills.user_skill_display_mode(id); + + +-- +-- TOC entry 7036 (class 2606 OID 1475544) +-- Name: interviews interviews_job_candidate_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.interviews + ADD CONSTRAINT interviews_job_candidate_id_fkey FOREIGN KEY (job_candidate_id) REFERENCES taas.job_candidates(id); + + +-- +-- TOC entry 7037 (class 2606 OID 1475549) +-- Name: job_candidates job_candidates_job_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.job_candidates + ADD CONSTRAINT job_candidates_job_id_fkey FOREIGN KEY (job_id) REFERENCES taas.jobs(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7038 (class 2606 OID 1475554) +-- Name: payment_schedulers payment_schedulers_work_period_payment_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.payment_schedulers + ADD CONSTRAINT payment_schedulers_work_period_payment_id_fkey FOREIGN KEY (work_period_payment_id) REFERENCES taas.work_period_payments(id); + + +-- +-- TOC entry 7039 (class 2606 OID 1475559) +-- Name: resource_bookings resource_bookings_job_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.resource_bookings + ADD CONSTRAINT resource_bookings_job_id_fkey FOREIGN KEY (job_id) REFERENCES taas.jobs(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7040 (class 2606 OID 1475564) +-- Name: role_search_requests role_search_requests_role_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.role_search_requests + ADD CONSTRAINT role_search_requests_role_id_fkey FOREIGN KEY (role_id) REFERENCES taas.roles(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- TOC entry 7041 (class 2606 OID 1475569) +-- Name: work_period_payments work_period_payments_work_period_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.work_period_payments + ADD CONSTRAINT work_period_payments_work_period_id_fkey FOREIGN KEY (work_period_id) REFERENCES taas.work_periods(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7042 (class 2606 OID 1475574) +-- Name: work_periods work_periods_resource_booking_id_fkey; Type: FK CONSTRAINT; Schema: taas; Owner: topcoder +-- + +ALTER TABLE ONLY taas.work_periods + ADD CONSTRAINT work_periods_resource_booking_id_fkey FOREIGN KEY (resource_booking_id) REFERENCES taas.resource_bookings(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7032 (class 2606 OID 1363510) +-- Name: TermsOfUseDocusignTemplateXref TermsOfUseDocusignTemplateXref_termsOfUseId_fkey; Type: FK CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUseDocusignTemplateXref" + ADD CONSTRAINT "TermsOfUseDocusignTemplateXref_termsOfUseId_fkey" FOREIGN KEY ("termsOfUseId") REFERENCES terms."TermsOfUse"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7031 (class 2606 OID 1363515) +-- Name: TermsOfUse TermsOfUse_agreeabilityTypeId_fkey; Type: FK CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."TermsOfUse" + ADD CONSTRAINT "TermsOfUse_agreeabilityTypeId_fkey" FOREIGN KEY ("agreeabilityTypeId") REFERENCES terms."TermsOfUseAgreeabilityType"(id) ON UPDATE CASCADE; + + +-- +-- TOC entry 7033 (class 2606 OID 1363520) +-- Name: UserTermsOfUseXref UserTermsOfUseXref_termsOfUseId_fkey; Type: FK CONSTRAINT; Schema: terms; Owner: topcoder +-- + +ALTER TABLE ONLY terms."UserTermsOfUseXref" + ADD CONSTRAINT "UserTermsOfUseXref_termsOfUseId_fkey" FOREIGN KEY ("termsOfUseId") REFERENCES terms."TermsOfUse"(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- TOC entry 7327 (class 6104 OID 1363331) +-- Name: academy_publication; Type: PUBLICATION; Schema: -; Owner: topcoder +-- + +CREATE PUBLICATION academy_publication WITH (publish = 'insert, update, delete, truncate'); + + +ALTER PUBLICATION academy_publication OWNER TO topcoder; + +-- +-- TOC entry 7326 (class 6104 OID 1347966) +-- Name: gamification_publication; Type: PUBLICATION; Schema: -; Owner: topcoder +-- + +CREATE PUBLICATION gamification_publication WITH (publish = 'insert, update, delete, truncate'); + + +ALTER PUBLICATION gamification_publication OWNER TO topcoder; + +-- +-- TOC entry 7329 (class 6237 OID 1363332) +-- Name: academy_publication academy; Type: PUBLICATION TABLES IN SCHEMA; Schema: academy; Owner: topcoder +-- + +ALTER PUBLICATION academy_publication ADD TABLES IN SCHEMA academy; + + +-- +-- TOC entry 7328 (class 6237 OID 1347967) +-- Name: gamification_publication gamification; Type: PUBLICATION TABLES IN SCHEMA; Schema: gamification; Owner: topcoder +-- + +ALTER PUBLICATION gamification_publication ADD TABLES IN SCHEMA gamification; + + +-- +-- TOC entry 7704 (class 0 OID 0) +-- Dependencies: 11 +-- Name: SCHEMA academy; Type: ACL; Schema: -; Owner: academy +-- + +GRANT CREATE ON SCHEMA academy TO PUBLIC; +GRANT USAGE ON SCHEMA academy TO power_bi_readonly; + + +-- +-- TOC entry 7705 (class 0 OID 0) +-- Dependencies: 12 +-- Name: SCHEMA autopilot; Type: ACL; Schema: -; Owner: autopilot +-- + +GRANT USAGE ON SCHEMA autopilot TO power_bi_readonly; + + +-- +-- TOC entry 7706 (class 0 OID 0) +-- Dependencies: 13 +-- Name: SCHEMA "billing-accounts"; Type: ACL; Schema: -; Owner: billingaccounts +-- + +GRANT USAGE ON SCHEMA "billing-accounts" TO power_bi_readonly; + + +-- +-- TOC entry 7707 (class 0 OID 0) +-- Dependencies: 14 +-- Name: SCHEMA challenges; Type: ACL; Schema: -; Owner: challenges +-- + +GRANT USAGE ON SCHEMA challenges TO power_bi_readonly; + + +-- +-- TOC entry 7709 (class 0 OID 0) +-- Dependencies: 15 +-- Name: SCHEMA emails; Type: ACL; Schema: -; Owner: emails +-- + +GRANT ALL ON SCHEMA emails TO PUBLIC; +GRANT USAGE ON SCHEMA emails TO power_bi_readonly; + + +-- +-- TOC entry 7710 (class 0 OID 0) +-- Dependencies: 16 +-- Name: SCHEMA finance; Type: ACL; Schema: -; Owner: finance +-- + +GRANT USAGE ON SCHEMA finance TO power_bi_readonly; + + +-- +-- TOC entry 7711 (class 0 OID 0) +-- Dependencies: 17 +-- Name: SCHEMA gamification; Type: ACL; Schema: -; Owner: gamification +-- + +GRANT ALL ON SCHEMA gamification TO PUBLIC; +GRANT USAGE ON SCHEMA gamification TO power_bi_readonly; + + +-- +-- TOC entry 7712 (class 0 OID 0) +-- Dependencies: 18 +-- Name: SCHEMA groups; Type: ACL; Schema: -; Owner: groups +-- + +GRANT USAGE ON SCHEMA groups TO power_bi_readonly; + + +-- +-- TOC entry 7713 (class 0 OID 0) +-- Dependencies: 19 +-- Name: SCHEMA identity; Type: ACL; Schema: -; Owner: identity +-- + +GRANT USAGE ON SCHEMA identity TO power_bi_readonly; + + +-- +-- TOC entry 7714 (class 0 OID 0) +-- Dependencies: 20 +-- Name: SCHEMA lookups; Type: ACL; Schema: -; Owner: lookups +-- + +GRANT USAGE ON SCHEMA lookups TO power_bi_readonly; + + +-- +-- TOC entry 7715 (class 0 OID 0) +-- Dependencies: 21 +-- Name: SCHEMA members; Type: ACL; Schema: -; Owner: members +-- + +GRANT USAGE ON SCHEMA members TO power_bi_readonly; + + +-- +-- TOC entry 7716 (class 0 OID 0) +-- Dependencies: 22 +-- Name: SCHEMA messages; Type: ACL; Schema: -; Owner: messages +-- + +GRANT ALL ON SCHEMA messages TO PUBLIC; +GRANT USAGE ON SCHEMA messages TO power_bi_readonly; + + +-- +-- TOC entry 7718 (class 0 OID 0) +-- Dependencies: 23 +-- Name: SCHEMA notifications; Type: ACL; Schema: -; Owner: notifications +-- + +GRANT ALL ON SCHEMA notifications TO PUBLIC; +GRANT USAGE ON SCHEMA notifications TO power_bi_readonly; + + +-- +-- TOC entry 7720 (class 0 OID 0) +-- Dependencies: 24 +-- Name: SCHEMA projects; Type: ACL; Schema: -; Owner: projects +-- + +REVOKE ALL ON SCHEMA projects FROM pg_database_owner; +REVOKE USAGE ON SCHEMA projects FROM PUBLIC; +GRANT ALL ON SCHEMA projects TO projects; +GRANT ALL ON SCHEMA projects TO finance; +GRANT ALL ON SCHEMA projects TO PUBLIC; +GRANT USAGE ON SCHEMA projects TO power_bi_readonly; + + +-- +-- TOC entry 7722 (class 0 OID 0) +-- Dependencies: 10 +-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: topcoder +-- + +REVOKE USAGE ON SCHEMA public FROM PUBLIC; + + +-- +-- TOC entry 7723 (class 0 OID 0) +-- Dependencies: 25 +-- Name: SCHEMA resources; Type: ACL; Schema: -; Owner: resources +-- + +GRANT USAGE ON SCHEMA resources TO challenges; +GRANT USAGE ON SCHEMA resources TO power_bi_readonly; + + +-- +-- TOC entry 7724 (class 0 OID 0) +-- Dependencies: 26 +-- Name: SCHEMA reviews; Type: ACL; Schema: -; Owner: reviews +-- + +GRANT USAGE ON SCHEMA reviews TO challenges; +GRANT USAGE ON SCHEMA reviews TO power_bi_readonly; + + +-- +-- TOC entry 7726 (class 0 OID 0) +-- Dependencies: 27 +-- Name: SCHEMA skills; Type: ACL; Schema: -; Owner: skills +-- + +GRANT ALL ON SCHEMA skills TO PUBLIC; +GRANT ALL ON SCHEMA skills TO member_skills; +GRANT USAGE ON SCHEMA skills TO power_bi_readonly; + + +-- +-- TOC entry 7728 (class 0 OID 0) +-- Dependencies: 28 +-- Name: SCHEMA taas; Type: ACL; Schema: -; Owner: taas +-- + +GRANT USAGE ON SCHEMA taas TO power_bi_readonly; + + +-- +-- TOC entry 7729 (class 0 OID 0) +-- Dependencies: 29 +-- Name: SCHEMA terms; Type: ACL; Schema: -; Owner: terms +-- + +GRANT USAGE ON SCHEMA terms TO power_bi_readonly; + + +-- +-- TOC entry 7731 (class 0 OID 0) +-- Dependencies: 30 +-- Name: SCHEMA timeline; Type: ACL; Schema: -; Owner: timeline +-- + +GRANT ALL ON SCHEMA timeline TO PUBLIC; +GRANT USAGE ON SCHEMA timeline TO power_bi_readonly; + + +-- +-- TOC entry 7737 (class 0 OID 0) +-- Dependencies: 664 +-- Name: FUNCTION handle_appeal_change(); Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT ALL ON FUNCTION reviews.handle_appeal_change() TO challenges; + + +-- +-- TOC entry 7738 (class 0 OID 0) +-- Dependencies: 665 +-- Name: FUNCTION handle_appeal_response_change(); Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT ALL ON FUNCTION reviews.handle_appeal_response_change() TO challenges; + + +-- +-- TOC entry 7739 (class 0 OID 0) +-- Dependencies: 663 +-- Name: FUNCTION update_review_pending_summary_for_resource(p_resource_id text); Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT ALL ON FUNCTION reviews.update_review_pending_summary_for_resource(p_resource_id text) TO challenges; + + +-- +-- TOC entry 7740 (class 0 OID 0) +-- Dependencies: 344 +-- Name: TABLE "CertificationCategory"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationCategory" TO academy; +GRANT SELECT ON TABLE academy."CertificationCategory" TO power_bi_readonly; + + +-- +-- TOC entry 7742 (class 0 OID 0) +-- Dependencies: 345 +-- Name: SEQUENCE "CertificationCategory_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."CertificationCategory_id_seq" TO academy; + + +-- +-- TOC entry 7743 (class 0 OID 0) +-- Dependencies: 346 +-- Name: TABLE "CertificationEnrollments"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationEnrollments" TO academy; +GRANT SELECT ON TABLE academy."CertificationEnrollments" TO power_bi_readonly; + + +-- +-- TOC entry 7745 (class 0 OID 0) +-- Dependencies: 347 +-- Name: SEQUENCE "CertificationEnrollments_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."CertificationEnrollments_id_seq" TO academy; + + +-- +-- TOC entry 7746 (class 0 OID 0) +-- Dependencies: 348 +-- Name: TABLE "CertificationResource"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationResource" TO academy; +GRANT SELECT ON TABLE academy."CertificationResource" TO power_bi_readonly; + + +-- +-- TOC entry 7747 (class 0 OID 0) +-- Dependencies: 349 +-- Name: TABLE "CertificationResourceProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."CertificationResourceProgresses" TO academy; +GRANT SELECT ON TABLE academy."CertificationResourceProgresses" TO power_bi_readonly; + + +-- +-- TOC entry 7749 (class 0 OID 0) +-- Dependencies: 350 +-- Name: SEQUENCE "CertificationResourceProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."CertificationResourceProgresses_id_seq" TO academy; + + +-- +-- TOC entry 7751 (class 0 OID 0) +-- Dependencies: 351 +-- Name: SEQUENCE "CertificationResource_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."CertificationResource_id_seq" TO academy; + + +-- +-- TOC entry 7752 (class 0 OID 0) +-- Dependencies: 352 +-- Name: TABLE "DataVersion"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."DataVersion" TO academy; +GRANT SELECT ON TABLE academy."DataVersion" TO power_bi_readonly; + + +-- +-- TOC entry 7753 (class 0 OID 0) +-- Dependencies: 353 +-- Name: TABLE "FccCertificationProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCertificationProgresses" TO academy; +GRANT SELECT ON TABLE academy."FccCertificationProgresses" TO power_bi_readonly; + + +-- +-- TOC entry 7755 (class 0 OID 0) +-- Dependencies: 354 +-- Name: SEQUENCE "FccCertificationProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."FccCertificationProgresses_id_seq" TO academy; + + +-- +-- TOC entry 7756 (class 0 OID 0) +-- Dependencies: 355 +-- Name: TABLE "FccCompletedLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCompletedLessons" TO academy; +GRANT SELECT ON TABLE academy."FccCompletedLessons" TO power_bi_readonly; + + +-- +-- TOC entry 7757 (class 0 OID 0) +-- Dependencies: 356 +-- Name: TABLE "FccCourses"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccCourses" TO academy; +GRANT SELECT ON TABLE academy."FccCourses" TO power_bi_readonly; + + +-- +-- TOC entry 7759 (class 0 OID 0) +-- Dependencies: 357 +-- Name: SEQUENCE "FccCourses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."FccCourses_id_seq" TO academy; + + +-- +-- TOC entry 7760 (class 0 OID 0) +-- Dependencies: 358 +-- Name: TABLE "FccLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccLessons" TO academy; +GRANT SELECT ON TABLE academy."FccLessons" TO power_bi_readonly; + + +-- +-- TOC entry 7761 (class 0 OID 0) +-- Dependencies: 359 +-- Name: TABLE "FccModuleProgresses"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccModuleProgresses" TO academy; +GRANT SELECT ON TABLE academy."FccModuleProgresses" TO power_bi_readonly; + + +-- +-- TOC entry 7763 (class 0 OID 0) +-- Dependencies: 360 +-- Name: SEQUENCE "FccModuleProgresses_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."FccModuleProgresses_id_seq" TO academy; + + +-- +-- TOC entry 7764 (class 0 OID 0) +-- Dependencies: 361 +-- Name: TABLE "FccModules"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FccModules" TO academy; +GRANT SELECT ON TABLE academy."FccModules" TO power_bi_readonly; + + +-- +-- TOC entry 7766 (class 0 OID 0) +-- Dependencies: 362 +-- Name: SEQUENCE "FccModules_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."FccModules_id_seq" TO academy; + + +-- +-- TOC entry 7767 (class 0 OID 0) +-- Dependencies: 363 +-- Name: TABLE "FreeCodeCampCertification"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."FreeCodeCampCertification" TO academy; +GRANT SELECT ON TABLE academy."FreeCodeCampCertification" TO power_bi_readonly; + + +-- +-- TOC entry 7769 (class 0 OID 0) +-- Dependencies: 364 +-- Name: SEQUENCE "FreeCodeCampCertification_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."FreeCodeCampCertification_id_seq" TO academy; + + +-- +-- TOC entry 7770 (class 0 OID 0) +-- Dependencies: 365 +-- Name: TABLE "ResourceProvider"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."ResourceProvider" TO academy; +GRANT SELECT ON TABLE academy."ResourceProvider" TO power_bi_readonly; + + +-- +-- TOC entry 7772 (class 0 OID 0) +-- Dependencies: 366 +-- Name: SEQUENCE "ResourceProvider_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."ResourceProvider_id_seq" TO academy; + + +-- +-- TOC entry 7773 (class 0 OID 0) +-- Dependencies: 367 +-- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."SequelizeMeta" TO academy; +GRANT SELECT ON TABLE academy."SequelizeMeta" TO power_bi_readonly; + + +-- +-- TOC entry 7774 (class 0 OID 0) +-- Dependencies: 368 +-- Name: TABLE "TopcoderCertification"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."TopcoderCertification" TO academy; +GRANT SELECT ON TABLE academy."TopcoderCertification" TO power_bi_readonly; + + +-- +-- TOC entry 7776 (class 0 OID 0) +-- Dependencies: 369 +-- Name: SEQUENCE "TopcoderCertification_id_seq"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE academy."TopcoderCertification_id_seq" TO academy; + + +-- +-- TOC entry 7777 (class 0 OID 0) +-- Dependencies: 370 +-- Name: TABLE "TopcoderUdemyCourse"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."TopcoderUdemyCourse" TO academy; +GRANT SELECT ON TABLE academy."TopcoderUdemyCourse" TO power_bi_readonly; + + +-- +-- TOC entry 7778 (class 0 OID 0) +-- Dependencies: 371 +-- Name: TABLE "UdemyCourse"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."UdemyCourse" TO academy; +GRANT SELECT ON TABLE academy."UdemyCourse" TO power_bi_readonly; + + +-- +-- TOC entry 7779 (class 0 OID 0) +-- Dependencies: 372 +-- Name: TABLE "fccCertsModulesLessons"; Type: ACL; Schema: academy; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE academy."fccCertsModulesLessons" TO academy; +GRANT SELECT ON TABLE academy."fccCertsModulesLessons" TO power_bi_readonly; + + +-- +-- TOC entry 7780 (class 0 OID 0) +-- Dependencies: 599 +-- Name: TABLE actions; Type: ACL; Schema: autopilot; Owner: autopilot +-- + +GRANT SELECT ON TABLE autopilot.actions TO power_bi_readonly; + + +-- +-- TOC entry 7781 (class 0 OID 0) +-- Dependencies: 603 +-- Name: TABLE "BillingAccount"; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"."BillingAccount" TO power_bi_readonly; + + +-- +-- TOC entry 7782 (class 0 OID 0) +-- Dependencies: 606 +-- Name: TABLE "BillingAccountAccess"; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"."BillingAccountAccess" TO power_bi_readonly; + + +-- +-- TOC entry 7784 (class 0 OID 0) +-- Dependencies: 602 +-- Name: TABLE "Client"; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"."Client" TO power_bi_readonly; + + +-- +-- TOC entry 7785 (class 0 OID 0) +-- Dependencies: 605 +-- Name: TABLE "ConsumedAmount"; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"."ConsumedAmount" TO power_bi_readonly; + + +-- +-- TOC entry 7786 (class 0 OID 0) +-- Dependencies: 604 +-- Name: TABLE "LockedAmount"; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"."LockedAmount" TO power_bi_readonly; + + +-- +-- TOC entry 7787 (class 0 OID 0) +-- Dependencies: 601 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: billing-accounts; Owner: billingaccounts +-- + +GRANT SELECT ON TABLE "billing-accounts"._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7788 (class 0 OID 0) +-- Dependencies: 476 +-- Name: TABLE "Attachment"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."Attachment" TO power_bi_readonly; + + +-- +-- TOC entry 7789 (class 0 OID 0) +-- Dependencies: 475 +-- Name: TABLE "AuditLog"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."AuditLog" TO power_bi_readonly; + + +-- +-- TOC entry 7790 (class 0 OID 0) +-- Dependencies: 471 +-- Name: TABLE "Challenge"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."Challenge" TO power_bi_readonly; + + +-- +-- TOC entry 7791 (class 0 OID 0) +-- Dependencies: 482 +-- Name: TABLE "ChallengeBilling"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeBilling" TO power_bi_readonly; + + +-- +-- TOC entry 7792 (class 0 OID 0) +-- Dependencies: 487 +-- Name: TABLE "ChallengeConstraint"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeConstraint" TO power_bi_readonly; + + +-- +-- TOC entry 7793 (class 0 OID 0) +-- Dependencies: 485 +-- Name: TABLE "ChallengeDiscussion"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeDiscussion" TO power_bi_readonly; + + +-- +-- TOC entry 7794 (class 0 OID 0) +-- Dependencies: 486 +-- Name: TABLE "ChallengeDiscussionOption"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeDiscussionOption" TO power_bi_readonly; + + +-- +-- TOC entry 7795 (class 0 OID 0) +-- Dependencies: 484 +-- Name: TABLE "ChallengeEvent"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeEvent" TO power_bi_readonly; + + +-- +-- TOC entry 7796 (class 0 OID 0) +-- Dependencies: 483 +-- Name: TABLE "ChallengeLegacy"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeLegacy" TO power_bi_readonly; + + +-- +-- TOC entry 7797 (class 0 OID 0) +-- Dependencies: 477 +-- Name: TABLE "ChallengeMetadata"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeMetadata" TO power_bi_readonly; + + +-- +-- TOC entry 7798 (class 0 OID 0) +-- Dependencies: 489 +-- Name: TABLE "ChallengePhase"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengePhase" TO power_bi_readonly; + + +-- +-- TOC entry 7799 (class 0 OID 0) +-- Dependencies: 490 +-- Name: TABLE "ChallengePhaseConstraint"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengePhaseConstraint" TO power_bi_readonly; + + +-- +-- TOC entry 7800 (class 0 OID 0) +-- Dependencies: 491 +-- Name: TABLE "ChallengePrizeSet"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengePrizeSet" TO power_bi_readonly; + + +-- +-- TOC entry 7801 (class 0 OID 0) +-- Dependencies: 494 +-- Name: TABLE "ChallengeReviewer"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeReviewer" TO power_bi_readonly; + + +-- +-- TOC entry 7802 (class 0 OID 0) +-- Dependencies: 481 +-- Name: TABLE "ChallengeSkill"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeSkill" TO power_bi_readonly; + + +-- +-- TOC entry 7803 (class 0 OID 0) +-- Dependencies: 480 +-- Name: TABLE "ChallengeTerm"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeTerm" TO power_bi_readonly; + + +-- +-- TOC entry 7804 (class 0 OID 0) +-- Dependencies: 474 +-- Name: TABLE "ChallengeTimelineTemplate"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeTimelineTemplate" TO power_bi_readonly; + + +-- +-- TOC entry 7805 (class 0 OID 0) +-- Dependencies: 473 +-- Name: TABLE "ChallengeTrack"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeTrack" TO power_bi_readonly; + + +-- +-- TOC entry 7806 (class 0 OID 0) +-- Dependencies: 472 +-- Name: TABLE "ChallengeType"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeType" TO power_bi_readonly; + + +-- +-- TOC entry 7807 (class 0 OID 0) +-- Dependencies: 479 +-- Name: TABLE "ChallengeWinner"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."ChallengeWinner" TO power_bi_readonly; + + +-- +-- TOC entry 7808 (class 0 OID 0) +-- Dependencies: 495 +-- Name: TABLE "DefaultChallengeReviewer"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."DefaultChallengeReviewer" TO power_bi_readonly; + + +-- +-- TOC entry 7809 (class 0 OID 0) +-- Dependencies: 498 +-- Name: TABLE "Resource"; Type: ACL; Schema: resources; Owner: resources +-- + +GRANT SELECT ON TABLE resources."Resource" TO challenges; +GRANT SELECT ON TABLE resources."Resource" TO power_bi_readonly; + + +-- +-- TOC entry 7810 (class 0 OID 0) +-- Dependencies: 488 +-- Name: TABLE "Phase"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."Phase" TO power_bi_readonly; + + +-- +-- TOC entry 7811 (class 0 OID 0) +-- Dependencies: 478 +-- Name: TABLE "Prize"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."Prize" TO power_bi_readonly; + + +-- +-- TOC entry 7812 (class 0 OID 0) +-- Dependencies: 492 +-- Name: TABLE "TimelineTemplate"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."TimelineTemplate" TO power_bi_readonly; + + +-- +-- TOC entry 7813 (class 0 OID 0) +-- Dependencies: 493 +-- Name: TABLE "TimelineTemplatePhase"; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges."TimelineTemplatePhase" TO power_bi_readonly; + + +-- +-- TOC entry 7814 (class 0 OID 0) +-- Dependencies: 470 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: challenges; Owner: challenges +-- + +GRANT SELECT ON TABLE challenges._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7815 (class 0 OID 0) +-- Dependencies: 382 +-- Name: TABLE "Emails"; Type: ACL; Schema: emails; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE emails."Emails" TO emails; +GRANT SELECT ON TABLE emails."Emails" TO power_bi_readonly; + + +-- +-- TOC entry 7817 (class 0 OID 0) +-- Dependencies: 383 +-- Name: SEQUENCE "Emails_id_seq"; Type: ACL; Schema: emails; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE emails."Emails_id_seq" TO emails; + + +-- +-- TOC entry 7818 (class 0 OID 0) +-- Dependencies: 306 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7819 (class 0 OID 0) +-- Dependencies: 307 +-- Name: TABLE audit; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.audit TO power_bi_readonly; + + +-- +-- TOC entry 7820 (class 0 OID 0) +-- Dependencies: 598 +-- Name: TABLE challenge_lock; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.challenge_lock TO power_bi_readonly; + + +-- +-- TOC entry 7822 (class 0 OID 0) +-- Dependencies: 309 +-- Name: TABLE origin; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.origin TO power_bi_readonly; + + +-- +-- TOC entry 7824 (class 0 OID 0) +-- Dependencies: 310 +-- Name: TABLE otp; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.otp TO power_bi_readonly; + + +-- +-- TOC entry 7825 (class 0 OID 0) +-- Dependencies: 311 +-- Name: TABLE payment; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.payment TO power_bi_readonly; + + +-- +-- TOC entry 7826 (class 0 OID 0) +-- Dependencies: 313 +-- Name: TABLE payment_method; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.payment_method TO power_bi_readonly; + + +-- +-- TOC entry 7828 (class 0 OID 0) +-- Dependencies: 314 +-- Name: TABLE payment_release_associations; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.payment_release_associations TO power_bi_readonly; + + +-- +-- TOC entry 7829 (class 0 OID 0) +-- Dependencies: 315 +-- Name: TABLE payment_releases; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.payment_releases TO power_bi_readonly; + + +-- +-- TOC entry 7830 (class 0 OID 0) +-- Dependencies: 320 +-- Name: TABLE trolley_recipient; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.trolley_recipient TO power_bi_readonly; + + +-- +-- TOC entry 7832 (class 0 OID 0) +-- Dependencies: 322 +-- Name: TABLE trolley_recipient_payment_method; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.trolley_recipient_payment_method TO power_bi_readonly; + + +-- +-- TOC entry 7833 (class 0 OID 0) +-- Dependencies: 318 +-- Name: TABLE trolley_webhook_log; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.trolley_webhook_log TO power_bi_readonly; + + +-- +-- TOC entry 7834 (class 0 OID 0) +-- Dependencies: 432 +-- Name: TABLE user_identity_verification_associations; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.user_identity_verification_associations TO power_bi_readonly; + + +-- +-- TOC entry 7835 (class 0 OID 0) +-- Dependencies: 316 +-- Name: TABLE user_payment_methods; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.user_payment_methods TO power_bi_readonly; + + +-- +-- TOC entry 7836 (class 0 OID 0) +-- Dependencies: 321 +-- Name: TABLE user_tax_form_associations; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.user_tax_form_associations TO power_bi_readonly; + + +-- +-- TOC entry 7837 (class 0 OID 0) +-- Dependencies: 317 +-- Name: TABLE winnings; Type: ACL; Schema: finance; Owner: finance +-- + +GRANT SELECT ON TABLE finance.winnings TO power_bi_readonly; + + +-- +-- TOC entry 7838 (class 0 OID 0) +-- Dependencies: 323 +-- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification."SequelizeMeta" TO gamification; +GRANT SELECT ON TABLE gamification."SequelizeMeta" TO power_bi_readonly; + + +-- +-- TOC entry 7839 (class 0 OID 0) +-- Dependencies: 324 +-- Name: TABLE badge_custom_fields; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.badge_custom_fields TO gamification; +GRANT SELECT ON TABLE gamification.badge_custom_fields TO power_bi_readonly; + + +-- +-- TOC entry 7840 (class 0 OID 0) +-- Dependencies: 325 +-- Name: TABLE member_badges; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.member_badges TO gamification; +GRANT SELECT ON TABLE gamification.member_badges TO power_bi_readonly; + + +-- +-- TOC entry 7841 (class 0 OID 0) +-- Dependencies: 326 +-- Name: TABLE organization; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization TO gamification; +GRANT SELECT ON TABLE gamification.organization TO power_bi_readonly; + + +-- +-- TOC entry 7842 (class 0 OID 0) +-- Dependencies: 327 +-- Name: TABLE organization_badges; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges TO gamification; +GRANT SELECT ON TABLE gamification.organization_badges TO power_bi_readonly; + + +-- +-- TOC entry 7843 (class 0 OID 0) +-- Dependencies: 328 +-- Name: TABLE organization_badges_custom_fields; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges_custom_fields TO gamification; +GRANT SELECT ON TABLE gamification.organization_badges_custom_fields TO power_bi_readonly; + + +-- +-- TOC entry 7844 (class 0 OID 0) +-- Dependencies: 329 +-- Name: TABLE organization_badges_tags; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.organization_badges_tags TO gamification; +GRANT SELECT ON TABLE gamification.organization_badges_tags TO power_bi_readonly; + + +-- +-- TOC entry 7845 (class 0 OID 0) +-- Dependencies: 330 +-- Name: TABLE tags; Type: ACL; Schema: gamification; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE gamification.tags TO gamification; +GRANT SELECT ON TABLE gamification.tags TO power_bi_readonly; + + +-- +-- TOC entry 7846 (class 0 OID 0) +-- Dependencies: 609 +-- Name: TABLE "Group"; Type: ACL; Schema: groups; Owner: groups +-- + +GRANT SELECT ON TABLE groups."Group" TO power_bi_readonly; + + +-- +-- TOC entry 7847 (class 0 OID 0) +-- Dependencies: 610 +-- Name: TABLE "GroupMember"; Type: ACL; Schema: groups; Owner: groups +-- + +GRANT SELECT ON TABLE groups."GroupMember" TO power_bi_readonly; + + +-- +-- TOC entry 7848 (class 0 OID 0) +-- Dependencies: 611 +-- Name: TABLE "User"; Type: ACL; Schema: groups; Owner: groups +-- + +GRANT SELECT ON TABLE groups."User" TO power_bi_readonly; + + +-- +-- TOC entry 7849 (class 0 OID 0) +-- Dependencies: 612 +-- Name: TABLE "_ParentSubGroups"; Type: ACL; Schema: groups; Owner: groups +-- + +GRANT SELECT ON TABLE groups."_ParentSubGroups" TO power_bi_readonly; + + +-- +-- TOC entry 7850 (class 0 OID 0) +-- Dependencies: 608 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: groups; Owner: groups +-- + +GRANT SELECT ON TABLE groups._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7851 (class 0 OID 0) +-- Dependencies: 433 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7852 (class 0 OID 0) +-- Dependencies: 436 +-- Name: TABLE achievement_type_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.achievement_type_lu TO power_bi_readonly; + + +-- +-- TOC entry 7853 (class 0 OID 0) +-- Dependencies: 464 +-- Name: TABLE client; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.client TO power_bi_readonly; + + +-- +-- TOC entry 7855 (class 0 OID 0) +-- Dependencies: 437 +-- Name: TABLE country; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.country TO power_bi_readonly; + + +-- +-- TOC entry 7856 (class 0 OID 0) +-- Dependencies: 439 +-- Name: TABLE dice_connection; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.dice_connection TO power_bi_readonly; + + +-- +-- TOC entry 7858 (class 0 OID 0) +-- Dependencies: 440 +-- Name: TABLE email; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.email TO power_bi_readonly; + + +-- +-- TOC entry 7859 (class 0 OID 0) +-- Dependencies: 441 +-- Name: TABLE email_status_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.email_status_lu TO power_bi_readonly; + + +-- +-- TOC entry 7860 (class 0 OID 0) +-- Dependencies: 442 +-- Name: TABLE email_type_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.email_type_lu TO power_bi_readonly; + + +-- +-- TOC entry 7861 (class 0 OID 0) +-- Dependencies: 443 +-- Name: TABLE id_sequences; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.id_sequences TO power_bi_readonly; + + +-- +-- TOC entry 7862 (class 0 OID 0) +-- Dependencies: 444 +-- Name: TABLE invalid_handles; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.invalid_handles TO power_bi_readonly; + + +-- +-- TOC entry 7863 (class 0 OID 0) +-- Dependencies: 466 +-- Name: TABLE role; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.role TO power_bi_readonly; + + +-- +-- TOC entry 7864 (class 0 OID 0) +-- Dependencies: 468 +-- Name: TABLE role_assignment; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.role_assignment TO power_bi_readonly; + + +-- +-- TOC entry 7867 (class 0 OID 0) +-- Dependencies: 445 +-- Name: TABLE security_groups; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.security_groups TO power_bi_readonly; + + +-- +-- TOC entry 7868 (class 0 OID 0) +-- Dependencies: 446 +-- Name: TABLE security_status_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.security_status_lu TO power_bi_readonly; + + +-- +-- TOC entry 7869 (class 0 OID 0) +-- Dependencies: 447 +-- Name: TABLE security_user; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.security_user TO power_bi_readonly; + + +-- +-- TOC entry 7870 (class 0 OID 0) +-- Dependencies: 448 +-- Name: TABLE social_login_provider; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.social_login_provider TO power_bi_readonly; + + +-- +-- TOC entry 7871 (class 0 OID 0) +-- Dependencies: 449 +-- Name: TABLE sso_login_provider; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.sso_login_provider TO power_bi_readonly; + + +-- +-- TOC entry 7872 (class 0 OID 0) +-- Dependencies: 450 +-- Name: TABLE "user"; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity."user" TO power_bi_readonly; + + +-- +-- TOC entry 7873 (class 0 OID 0) +-- Dependencies: 452 +-- Name: TABLE user_2fa; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_2fa TO power_bi_readonly; + + +-- +-- TOC entry 7875 (class 0 OID 0) +-- Dependencies: 453 +-- Name: TABLE user_achievement; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_achievement TO power_bi_readonly; + + +-- +-- TOC entry 7876 (class 0 OID 0) +-- Dependencies: 462 +-- Name: TABLE user_email_xref; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_email_xref TO power_bi_readonly; + + +-- +-- TOC entry 7877 (class 0 OID 0) +-- Dependencies: 454 +-- Name: TABLE user_group_xref; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_group_xref TO power_bi_readonly; + + +-- +-- TOC entry 7878 (class 0 OID 0) +-- Dependencies: 456 +-- Name: TABLE user_otp_email; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_otp_email TO power_bi_readonly; + + +-- +-- TOC entry 7880 (class 0 OID 0) +-- Dependencies: 457 +-- Name: TABLE user_social_login; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_social_login TO power_bi_readonly; + + +-- +-- TOC entry 7881 (class 0 OID 0) +-- Dependencies: 458 +-- Name: TABLE user_sso_login; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_sso_login TO power_bi_readonly; + + +-- +-- TOC entry 7882 (class 0 OID 0) +-- Dependencies: 459 +-- Name: TABLE user_status; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_status TO power_bi_readonly; + + +-- +-- TOC entry 7883 (class 0 OID 0) +-- Dependencies: 460 +-- Name: TABLE user_status_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_status_lu TO power_bi_readonly; + + +-- +-- TOC entry 7884 (class 0 OID 0) +-- Dependencies: 461 +-- Name: TABLE user_status_type_lu; Type: ACL; Schema: identity; Owner: identity +-- + +GRANT SELECT ON TABLE identity.user_status_type_lu TO power_bi_readonly; + + +-- +-- TOC entry 7885 (class 0 OID 0) +-- Dependencies: 566 +-- Name: TABLE "Country"; Type: ACL; Schema: lookups; Owner: lookups +-- + +GRANT SELECT ON TABLE lookups."Country" TO power_bi_readonly; + + +-- +-- TOC entry 7886 (class 0 OID 0) +-- Dependencies: 567 +-- Name: TABLE "Device"; Type: ACL; Schema: lookups; Owner: lookups +-- + +GRANT SELECT ON TABLE lookups."Device" TO power_bi_readonly; + + +-- +-- TOC entry 7887 (class 0 OID 0) +-- Dependencies: 568 +-- Name: TABLE "EducationalInstitution"; Type: ACL; Schema: lookups; Owner: lookups +-- + +GRANT SELECT ON TABLE lookups."EducationalInstitution" TO power_bi_readonly; + + +-- +-- TOC entry 7888 (class 0 OID 0) +-- Dependencies: 565 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: lookups; Owner: lookups +-- + +GRANT SELECT ON TABLE lookups._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7889 (class 0 OID 0) +-- Dependencies: 500 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 7890 (class 0 OID 0) +-- Dependencies: 561 +-- Name: TABLE "displayMode"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."displayMode" TO power_bi_readonly; + + +-- +-- TOC entry 7891 (class 0 OID 0) +-- Dependencies: 507 +-- Name: TABLE "distributionStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."distributionStats" TO power_bi_readonly; + + +-- +-- TOC entry 7893 (class 0 OID 0) +-- Dependencies: 501 +-- Name: TABLE member; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members.member TO power_bi_readonly; + + +-- +-- TOC entry 7894 (class 0 OID 0) +-- Dependencies: 503 +-- Name: TABLE "memberAddress"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberAddress" TO power_bi_readonly; + + +-- +-- TOC entry 7896 (class 0 OID 0) +-- Dependencies: 518 +-- Name: TABLE "memberCopilotStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberCopilotStats" TO power_bi_readonly; + + +-- +-- TOC entry 7898 (class 0 OID 0) +-- Dependencies: 514 +-- Name: TABLE "memberDataScienceHistoryStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDataScienceHistoryStats" TO power_bi_readonly; + + +-- +-- TOC entry 7900 (class 0 OID 0) +-- Dependencies: 528 +-- Name: TABLE "memberDataScienceStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDataScienceStats" TO power_bi_readonly; + + +-- +-- TOC entry 7902 (class 0 OID 0) +-- Dependencies: 524 +-- Name: TABLE "memberDesignStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDesignStats" TO power_bi_readonly; + + +-- +-- TOC entry 7903 (class 0 OID 0) +-- Dependencies: 526 +-- Name: TABLE "memberDesignStatsItem"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDesignStatsItem" TO power_bi_readonly; + + +-- +-- TOC entry 7906 (class 0 OID 0) +-- Dependencies: 512 +-- Name: TABLE "memberDevelopHistoryStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDevelopHistoryStats" TO power_bi_readonly; + + +-- +-- TOC entry 7908 (class 0 OID 0) +-- Dependencies: 520 +-- Name: TABLE "memberDevelopStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDevelopStats" TO power_bi_readonly; + + +-- +-- TOC entry 7909 (class 0 OID 0) +-- Dependencies: 522 +-- Name: TABLE "memberDevelopStatsItem"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberDevelopStatsItem" TO power_bi_readonly; + + +-- +-- TOC entry 7912 (class 0 OID 0) +-- Dependencies: 508 +-- Name: TABLE "memberFinancial"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberFinancial" TO power_bi_readonly; + + +-- +-- TOC entry 7913 (class 0 OID 0) +-- Dependencies: 510 +-- Name: TABLE "memberHistoryStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberHistoryStats" TO power_bi_readonly; + + +-- +-- TOC entry 7915 (class 0 OID 0) +-- Dependencies: 536 +-- Name: TABLE "memberMarathonStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberMarathonStats" TO power_bi_readonly; + + +-- +-- TOC entry 7917 (class 0 OID 0) +-- Dependencies: 505 +-- Name: TABLE "memberMaxRating"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberMaxRating" TO power_bi_readonly; + + +-- +-- TOC entry 7919 (class 0 OID 0) +-- Dependencies: 563 +-- Name: TABLE "memberSkill"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberSkill" TO power_bi_readonly; + + +-- +-- TOC entry 7920 (class 0 OID 0) +-- Dependencies: 564 +-- Name: TABLE "memberSkillLevel"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberSkillLevel" TO power_bi_readonly; + + +-- +-- TOC entry 7921 (class 0 OID 0) +-- Dependencies: 532 +-- Name: TABLE "memberSrmChallengeDetail"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberSrmChallengeDetail" TO power_bi_readonly; + + +-- +-- TOC entry 7923 (class 0 OID 0) +-- Dependencies: 534 +-- Name: TABLE "memberSrmDivisionDetail"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberSrmDivisionDetail" TO power_bi_readonly; + + +-- +-- TOC entry 7925 (class 0 OID 0) +-- Dependencies: 530 +-- Name: TABLE "memberSrmStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberSrmStats" TO power_bi_readonly; + + +-- +-- TOC entry 7927 (class 0 OID 0) +-- Dependencies: 516 +-- Name: TABLE "memberStats"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberStats" TO power_bi_readonly; + + +-- +-- TOC entry 7929 (class 0 OID 0) +-- Dependencies: 550 +-- Name: TABLE "memberTraitBasicInfo"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitBasicInfo" TO power_bi_readonly; + + +-- +-- TOC entry 7931 (class 0 OID 0) +-- Dependencies: 558 +-- Name: TABLE "memberTraitCommunity"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitCommunity" TO power_bi_readonly; + + +-- +-- TOC entry 7933 (class 0 OID 0) +-- Dependencies: 540 +-- Name: TABLE "memberTraitDevice"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitDevice" TO power_bi_readonly; + + +-- +-- TOC entry 7935 (class 0 OID 0) +-- Dependencies: 548 +-- Name: TABLE "memberTraitEducation"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitEducation" TO power_bi_readonly; + + +-- +-- TOC entry 7937 (class 0 OID 0) +-- Dependencies: 552 +-- Name: TABLE "memberTraitLanguage"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitLanguage" TO power_bi_readonly; + + +-- +-- TOC entry 7939 (class 0 OID 0) +-- Dependencies: 554 +-- Name: TABLE "memberTraitOnboardChecklist"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitOnboardChecklist" TO power_bi_readonly; + + +-- +-- TOC entry 7941 (class 0 OID 0) +-- Dependencies: 556 +-- Name: TABLE "memberTraitPersonalization"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitPersonalization" TO power_bi_readonly; + + +-- +-- TOC entry 7943 (class 0 OID 0) +-- Dependencies: 544 +-- Name: TABLE "memberTraitServiceProvider"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitServiceProvider" TO power_bi_readonly; + + +-- +-- TOC entry 7945 (class 0 OID 0) +-- Dependencies: 542 +-- Name: TABLE "memberTraitSoftware"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitSoftware" TO power_bi_readonly; + + +-- +-- TOC entry 7947 (class 0 OID 0) +-- Dependencies: 546 +-- Name: TABLE "memberTraitWork"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraitWork" TO power_bi_readonly; + + +-- +-- TOC entry 7949 (class 0 OID 0) +-- Dependencies: 538 +-- Name: TABLE "memberTraits"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."memberTraits" TO power_bi_readonly; + + +-- +-- TOC entry 7951 (class 0 OID 0) +-- Dependencies: 560 +-- Name: TABLE skill; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members.skill TO power_bi_readonly; + + +-- +-- TOC entry 7952 (class 0 OID 0) +-- Dependencies: 559 +-- Name: TABLE "skillCategory"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."skillCategory" TO power_bi_readonly; + + +-- +-- TOC entry 7953 (class 0 OID 0) +-- Dependencies: 562 +-- Name: TABLE "skillLevel"; Type: ACL; Schema: members; Owner: members +-- + +GRANT SELECT ON TABLE members."skillLevel" TO power_bi_readonly; + + +-- +-- TOC entry 7954 (class 0 OID 0) +-- Dependencies: 331 +-- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages."SequelizeMeta" TO messages; +GRANT SELECT ON TABLE messages."SequelizeMeta" TO power_bi_readonly; + + +-- +-- TOC entry 7955 (class 0 OID 0) +-- Dependencies: 332 +-- Name: TABLE email_logs; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.email_logs TO messages; +GRANT SELECT ON TABLE messages.email_logs TO power_bi_readonly; + + +-- +-- TOC entry 7957 (class 0 OID 0) +-- Dependencies: 333 +-- Name: SEQUENCE email_logs_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE messages.email_logs_id_seq TO messages; + + +-- +-- TOC entry 7958 (class 0 OID 0) +-- Dependencies: 334 +-- Name: TABLE post_attachments; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.post_attachments TO messages; +GRANT SELECT ON TABLE messages.post_attachments TO power_bi_readonly; + + +-- +-- TOC entry 7960 (class 0 OID 0) +-- Dependencies: 335 +-- Name: SEQUENCE post_attachments_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE messages.post_attachments_id_seq TO messages; + + +-- +-- TOC entry 7961 (class 0 OID 0) +-- Dependencies: 336 +-- Name: TABLE post_user_stats; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.post_user_stats TO messages; +GRANT SELECT ON TABLE messages.post_user_stats TO power_bi_readonly; + + +-- +-- TOC entry 7962 (class 0 OID 0) +-- Dependencies: 337 +-- Name: TABLE posts; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.posts TO messages; +GRANT SELECT ON TABLE messages.posts TO power_bi_readonly; + + +-- +-- TOC entry 7964 (class 0 OID 0) +-- Dependencies: 338 +-- Name: SEQUENCE posts_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE messages.posts_id_seq TO messages; + + +-- +-- TOC entry 7965 (class 0 OID 0) +-- Dependencies: 339 +-- Name: TABLE reference_lookups; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.reference_lookups TO messages; +GRANT SELECT ON TABLE messages.reference_lookups TO power_bi_readonly; + + +-- +-- TOC entry 7966 (class 0 OID 0) +-- Dependencies: 340 +-- Name: TABLE topics; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE messages.topics TO messages; +GRANT SELECT ON TABLE messages.topics TO power_bi_readonly; + + +-- +-- TOC entry 7968 (class 0 OID 0) +-- Dependencies: 341 +-- Name: SEQUENCE topics_id_seq; Type: ACL; Schema: messages; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE messages.topics_id_seq TO messages; + + +-- +-- TOC entry 7969 (class 0 OID 0) +-- Dependencies: 384 +-- Name: TABLE "NotificationSettings"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."NotificationSettings" TO notifications; +GRANT SELECT ON TABLE notifications."NotificationSettings" TO power_bi_readonly; + + +-- +-- TOC entry 7971 (class 0 OID 0) +-- Dependencies: 385 +-- Name: SEQUENCE "NotificationSettings_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications."NotificationSettings_id_seq" TO notifications; + + +-- +-- TOC entry 7972 (class 0 OID 0) +-- Dependencies: 386 +-- Name: TABLE "Notifications"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."Notifications" TO notifications; +GRANT SELECT ON TABLE notifications."Notifications" TO power_bi_readonly; + + +-- +-- TOC entry 7974 (class 0 OID 0) +-- Dependencies: 387 +-- Name: SEQUENCE "Notifications_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications."Notifications_id_seq" TO notifications; + + +-- +-- TOC entry 7975 (class 0 OID 0) +-- Dependencies: 388 +-- Name: TABLE "ScheduledEvents"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."ScheduledEvents" TO notifications; +GRANT SELECT ON TABLE notifications."ScheduledEvents" TO power_bi_readonly; + + +-- +-- TOC entry 7977 (class 0 OID 0) +-- Dependencies: 389 +-- Name: SEQUENCE "ScheduledEvents_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications."ScheduledEvents_id_seq" TO notifications; + + +-- +-- TOC entry 7978 (class 0 OID 0) +-- Dependencies: 390 +-- Name: TABLE "ServiceSettings"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications."ServiceSettings" TO notifications; +GRANT SELECT ON TABLE notifications."ServiceSettings" TO power_bi_readonly; + + +-- +-- TOC entry 7980 (class 0 OID 0) +-- Dependencies: 391 +-- Name: SEQUENCE "ServiceSettings_id_seq"; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications."ServiceSettings_id_seq" TO notifications; + + +-- +-- TOC entry 7981 (class 0 OID 0) +-- Dependencies: 392 +-- Name: TABLE bk_notifications_20200609; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bk_notifications_20200609 TO notifications; +GRANT SELECT ON TABLE notifications.bk_notifications_20200609 TO power_bi_readonly; + + +-- +-- TOC entry 7982 (class 0 OID 0) +-- Dependencies: 393 +-- Name: TABLE bulk_message_user_refs; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bulk_message_user_refs TO notifications; +GRANT SELECT ON TABLE notifications.bulk_message_user_refs TO power_bi_readonly; + + +-- +-- TOC entry 7984 (class 0 OID 0) +-- Dependencies: 394 +-- Name: SEQUENCE bulk_message_user_refs_id_seq; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications.bulk_message_user_refs_id_seq TO notifications; + + +-- +-- TOC entry 7985 (class 0 OID 0) +-- Dependencies: 395 +-- Name: TABLE bulk_messages; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.bulk_messages TO notifications; +GRANT SELECT ON TABLE notifications.bulk_messages TO power_bi_readonly; + + +-- +-- TOC entry 7987 (class 0 OID 0) +-- Dependencies: 396 +-- Name: SEQUENCE bulk_messages_id_seq; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE notifications.bulk_messages_id_seq TO notifications; + + +-- +-- TOC entry 7988 (class 0 OID 0) +-- Dependencies: 397 +-- Name: TABLE tmpbtable; Type: ACL; Schema: notifications; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE notifications.tmpbtable TO notifications; +GRANT SELECT ON TABLE notifications.tmpbtable TO power_bi_readonly; + + +-- +-- TOC entry 7989 (class 0 OID 0) +-- Dependencies: 240 +-- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects."SequelizeMeta" TO projects; +GRANT SELECT ON TABLE projects."SequelizeMeta" TO power_bi_readonly; + + +-- +-- TOC entry 7990 (class 0 OID 0) +-- Dependencies: 241 +-- Name: TABLE building_blocks; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.building_blocks TO projects; +GRANT SELECT ON TABLE projects.building_blocks TO power_bi_readonly; + + +-- +-- TOC entry 7992 (class 0 OID 0) +-- Dependencies: 242 +-- Name: SEQUENCE building_blocks_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.building_blocks_id_seq TO projects; + + +-- +-- TOC entry 7993 (class 0 OID 0) +-- Dependencies: 305 +-- Name: TABLE copilot_applications; Type: ACL; Schema: projects; Owner: projects +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_applications TO topcoder; +GRANT SELECT ON TABLE projects.copilot_applications TO power_bi_readonly; + + +-- +-- TOC entry 7995 (class 0 OID 0) +-- Dependencies: 304 +-- Name: SEQUENCE copilot_applications_id_seq; Type: ACL; Schema: projects; Owner: projects +-- + +GRANT ALL ON SEQUENCE projects.copilot_applications_id_seq TO topcoder; + + +-- +-- TOC entry 7996 (class 0 OID 0) +-- Dependencies: 243 +-- Name: TABLE copilot_opportunities; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_opportunities TO projects; +GRANT SELECT ON TABLE projects.copilot_opportunities TO power_bi_readonly; + + +-- +-- TOC entry 7998 (class 0 OID 0) +-- Dependencies: 244 +-- Name: SEQUENCE copilot_opportunities_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.copilot_opportunities_id_seq TO projects; + + +-- +-- TOC entry 7999 (class 0 OID 0) +-- Dependencies: 245 +-- Name: TABLE copilot_requests; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.copilot_requests TO projects; +GRANT SELECT ON TABLE projects.copilot_requests TO power_bi_readonly; + + +-- +-- TOC entry 8001 (class 0 OID 0) +-- Dependencies: 246 +-- Name: SEQUENCE copilot_requests_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.copilot_requests_id_seq TO projects; + + +-- +-- TOC entry 8002 (class 0 OID 0) +-- Dependencies: 247 +-- Name: TABLE customer_payments; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.customer_payments TO projects; +GRANT SELECT ON TABLE projects.customer_payments TO power_bi_readonly; + + +-- +-- TOC entry 8004 (class 0 OID 0) +-- Dependencies: 248 +-- Name: SEQUENCE customer_payments_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.customer_payments_id_seq TO projects; + + +-- +-- TOC entry 8005 (class 0 OID 0) +-- Dependencies: 249 +-- Name: TABLE form; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.form TO projects; +GRANT SELECT ON TABLE projects.form TO power_bi_readonly; + + +-- +-- TOC entry 8007 (class 0 OID 0) +-- Dependencies: 250 +-- Name: SEQUENCE form_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.form_id_seq TO projects; + + +-- +-- TOC entry 8008 (class 0 OID 0) +-- Dependencies: 251 +-- Name: TABLE milestone_templates; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.milestone_templates TO projects; +GRANT SELECT ON TABLE projects.milestone_templates TO power_bi_readonly; + + +-- +-- TOC entry 8009 (class 0 OID 0) +-- Dependencies: 252 +-- Name: TABLE milestones; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.milestones TO projects; +GRANT SELECT ON TABLE projects.milestones TO power_bi_readonly; + + +-- +-- TOC entry 8011 (class 0 OID 0) +-- Dependencies: 253 +-- Name: SEQUENCE milestones_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.milestones_id_seq TO projects; + + +-- +-- TOC entry 8012 (class 0 OID 0) +-- Dependencies: 254 +-- Name: TABLE org_config; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.org_config TO projects; +GRANT SELECT ON TABLE projects.org_config TO power_bi_readonly; + + +-- +-- TOC entry 8014 (class 0 OID 0) +-- Dependencies: 255 +-- Name: SEQUENCE org_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.org_config_id_seq TO projects; + + +-- +-- TOC entry 8015 (class 0 OID 0) +-- Dependencies: 256 +-- Name: TABLE phase_products; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.phase_products TO projects; +GRANT SELECT ON TABLE projects.phase_products TO power_bi_readonly; + + +-- +-- TOC entry 8017 (class 0 OID 0) +-- Dependencies: 257 +-- Name: SEQUENCE phase_products_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.phase_products_id_seq TO projects; + + +-- +-- TOC entry 8018 (class 0 OID 0) +-- Dependencies: 258 +-- Name: TABLE phase_work_streams; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.phase_work_streams TO projects; +GRANT SELECT ON TABLE projects.phase_work_streams TO power_bi_readonly; + + +-- +-- TOC entry 8019 (class 0 OID 0) +-- Dependencies: 259 +-- Name: TABLE plan_config; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.plan_config TO projects; +GRANT SELECT ON TABLE projects.plan_config TO power_bi_readonly; + + +-- +-- TOC entry 8021 (class 0 OID 0) +-- Dependencies: 260 +-- Name: SEQUENCE plan_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.plan_config_id_seq TO projects; + + +-- +-- TOC entry 8022 (class 0 OID 0) +-- Dependencies: 261 +-- Name: TABLE price_config; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.price_config TO projects; +GRANT SELECT ON TABLE projects.price_config TO power_bi_readonly; + + +-- +-- TOC entry 8024 (class 0 OID 0) +-- Dependencies: 262 +-- Name: SEQUENCE price_config_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.price_config_id_seq TO projects; + + +-- +-- TOC entry 8025 (class 0 OID 0) +-- Dependencies: 263 +-- Name: TABLE product_categories; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_categories TO projects; +GRANT SELECT ON TABLE projects.product_categories TO power_bi_readonly; + + +-- +-- TOC entry 8027 (class 0 OID 0) +-- Dependencies: 264 +-- Name: SEQUENCE product_milestone_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.product_milestone_templates_id_seq TO projects; + + +-- +-- TOC entry 8028 (class 0 OID 0) +-- Dependencies: 265 +-- Name: TABLE product_templates; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_templates TO projects; +GRANT SELECT ON TABLE projects.product_templates TO power_bi_readonly; + + +-- +-- TOC entry 8029 (class 0 OID 0) +-- Dependencies: 266 +-- Name: TABLE product_templates_backup; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.product_templates_backup TO projects; +GRANT SELECT ON TABLE projects.product_templates_backup TO power_bi_readonly; + + +-- +-- TOC entry 8031 (class 0 OID 0) +-- Dependencies: 267 +-- Name: SEQUENCE product_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.product_templates_id_seq TO projects; + + +-- +-- TOC entry 8032 (class 0 OID 0) +-- Dependencies: 268 +-- Name: TABLE project_attachments; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_attachments TO projects; +GRANT SELECT ON TABLE projects.project_attachments TO power_bi_readonly; + + +-- +-- TOC entry 8034 (class 0 OID 0) +-- Dependencies: 269 +-- Name: SEQUENCE project_attachments_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_attachments_id_seq TO projects; + + +-- +-- TOC entry 8036 (class 0 OID 0) +-- Dependencies: 270 +-- Name: SEQUENCE project_estimation_items_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_estimation_items_id_seq TO projects; + + +-- +-- TOC entry 8037 (class 0 OID 0) +-- Dependencies: 271 +-- Name: TABLE project_estimation_items; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_estimation_items TO projects; +GRANT SELECT ON TABLE projects.project_estimation_items TO power_bi_readonly; + + +-- +-- TOC entry 8038 (class 0 OID 0) +-- Dependencies: 272 +-- Name: TABLE project_estimations; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_estimations TO projects; +GRANT SELECT ON TABLE projects.project_estimations TO power_bi_readonly; + + +-- +-- TOC entry 8040 (class 0 OID 0) +-- Dependencies: 273 +-- Name: SEQUENCE project_estimations_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_estimations_id_seq TO projects; + + +-- +-- TOC entry 8041 (class 0 OID 0) +-- Dependencies: 274 +-- Name: TABLE project_history; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_history TO projects; +GRANT SELECT ON TABLE projects.project_history TO power_bi_readonly; + + +-- +-- TOC entry 8043 (class 0 OID 0) +-- Dependencies: 275 +-- Name: SEQUENCE project_history_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_history_id_seq TO projects; + + +-- +-- TOC entry 8044 (class 0 OID 0) +-- Dependencies: 276 +-- Name: TABLE project_member_invites; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_member_invites TO projects; +GRANT SELECT ON TABLE projects.project_member_invites TO power_bi_readonly; + + +-- +-- TOC entry 8046 (class 0 OID 0) +-- Dependencies: 277 +-- Name: SEQUENCE project_member_invites_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_member_invites_id_seq TO projects; + + +-- +-- TOC entry 8047 (class 0 OID 0) +-- Dependencies: 278 +-- Name: TABLE project_members; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_members TO projects; +GRANT SELECT ON TABLE projects.project_members TO power_bi_readonly; + + +-- +-- TOC entry 8049 (class 0 OID 0) +-- Dependencies: 279 +-- Name: SEQUENCE project_members_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_members_id_seq TO projects; + + +-- +-- TOC entry 8050 (class 0 OID 0) +-- Dependencies: 280 +-- Name: SEQUENCE project_phase_approval_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_phase_approval_id_seq TO projects; + + +-- +-- TOC entry 8051 (class 0 OID 0) +-- Dependencies: 281 +-- Name: TABLE project_phase_approval; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phase_approval TO projects; +GRANT SELECT ON TABLE projects.project_phase_approval TO power_bi_readonly; + + +-- +-- TOC entry 8052 (class 0 OID 0) +-- Dependencies: 282 +-- Name: SEQUENCE project_phase_member_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_phase_member_id_seq TO projects; + + +-- +-- TOC entry 8053 (class 0 OID 0) +-- Dependencies: 283 +-- Name: TABLE project_phase_member; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phase_member TO projects; +GRANT SELECT ON TABLE projects.project_phase_member TO power_bi_readonly; + + +-- +-- TOC entry 8054 (class 0 OID 0) +-- Dependencies: 284 +-- Name: TABLE project_phases; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_phases TO projects; +GRANT SELECT ON TABLE projects.project_phases TO power_bi_readonly; + + +-- +-- TOC entry 8056 (class 0 OID 0) +-- Dependencies: 285 +-- Name: SEQUENCE project_phases_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_phases_id_seq TO projects; + + +-- +-- TOC entry 8057 (class 0 OID 0) +-- Dependencies: 286 +-- Name: TABLE project_settings; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_settings TO projects; +GRANT SELECT ON TABLE projects.project_settings TO power_bi_readonly; + + +-- +-- TOC entry 8059 (class 0 OID 0) +-- Dependencies: 287 +-- Name: SEQUENCE project_settings_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_settings_id_seq TO projects; + + +-- +-- TOC entry 8060 (class 0 OID 0) +-- Dependencies: 288 +-- Name: TABLE project_templates; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_templates TO projects; +GRANT SELECT ON TABLE projects.project_templates TO power_bi_readonly; + + +-- +-- TOC entry 8061 (class 0 OID 0) +-- Dependencies: 289 +-- Name: TABLE project_templates_backup; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_templates_backup TO projects; +GRANT SELECT ON TABLE projects.project_templates_backup TO power_bi_readonly; + + +-- +-- TOC entry 8063 (class 0 OID 0) +-- Dependencies: 290 +-- Name: SEQUENCE project_templates_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.project_templates_id_seq TO projects; + + +-- +-- TOC entry 8064 (class 0 OID 0) +-- Dependencies: 291 +-- Name: TABLE project_types; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.project_types TO projects; +GRANT SELECT ON TABLE projects.project_types TO power_bi_readonly; + + +-- +-- TOC entry 8065 (class 0 OID 0) +-- Dependencies: 292 +-- Name: TABLE projects; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.projects TO projects; +GRANT SELECT ON TABLE projects.projects TO power_bi_readonly; + + +-- +-- TOC entry 8067 (class 0 OID 0) +-- Dependencies: 293 +-- Name: SEQUENCE projects_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.projects_id_seq TO projects; + + +-- +-- TOC entry 8068 (class 0 OID 0) +-- Dependencies: 294 +-- Name: TABLE scope_change_requests; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.scope_change_requests TO projects; +GRANT SELECT ON TABLE projects.scope_change_requests TO power_bi_readonly; + + +-- +-- TOC entry 8070 (class 0 OID 0) +-- Dependencies: 295 +-- Name: SEQUENCE scope_change_requests_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.scope_change_requests_id_seq TO projects; + + +-- +-- TOC entry 8071 (class 0 OID 0) +-- Dependencies: 296 +-- Name: TABLE status_history; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.status_history TO projects; +GRANT SELECT ON TABLE projects.status_history TO power_bi_readonly; + + +-- +-- TOC entry 8073 (class 0 OID 0) +-- Dependencies: 297 +-- Name: SEQUENCE status_history_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.status_history_id_seq TO projects; + + +-- +-- TOC entry 8074 (class 0 OID 0) +-- Dependencies: 298 +-- Name: TABLE timelines; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.timelines TO projects; +GRANT SELECT ON TABLE projects.timelines TO power_bi_readonly; + + +-- +-- TOC entry 8076 (class 0 OID 0) +-- Dependencies: 299 +-- Name: SEQUENCE timelines_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.timelines_id_seq TO projects; + + +-- +-- TOC entry 8077 (class 0 OID 0) +-- Dependencies: 300 +-- Name: TABLE work_management_permissions; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.work_management_permissions TO projects; +GRANT SELECT ON TABLE projects.work_management_permissions TO power_bi_readonly; + + +-- +-- TOC entry 8079 (class 0 OID 0) +-- Dependencies: 301 +-- Name: SEQUENCE work_management_permissions_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.work_management_permissions_id_seq TO projects; + + +-- +-- TOC entry 8080 (class 0 OID 0) +-- Dependencies: 302 +-- Name: TABLE work_streams; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.work_streams TO projects; +GRANT SELECT ON TABLE projects.work_streams TO power_bi_readonly; + + +-- +-- TOC entry 8082 (class 0 OID 0) +-- Dependencies: 303 +-- Name: SEQUENCE work_streams_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- + +GRANT ALL ON SEQUENCE projects.work_streams_id_seq TO projects; + + +-- +-- TOC entry 8083 (class 0 OID 0) +-- Dependencies: 497 +-- Name: TABLE "ResourceRole"; Type: ACL; Schema: resources; Owner: resources +-- + +GRANT SELECT ON TABLE resources."ResourceRole" TO challenges; +GRANT SELECT ON TABLE resources."ResourceRole" TO power_bi_readonly; + + +-- +-- TOC entry 8084 (class 0 OID 0) +-- Dependencies: 499 +-- Name: TABLE "ResourceRolePhaseDependency"; Type: ACL; Schema: resources; Owner: resources +-- + +GRANT SELECT ON TABLE resources."ResourceRolePhaseDependency" TO challenges; +GRANT SELECT ON TABLE resources."ResourceRolePhaseDependency" TO power_bi_readonly; + + +-- +-- TOC entry 8085 (class 0 OID 0) +-- Dependencies: 496 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: resources; Owner: resources +-- + +GRANT SELECT ON TABLE resources._prisma_migrations TO challenges; +GRANT SELECT ON TABLE resources._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 8086 (class 0 OID 0) +-- Dependencies: 569 +-- Name: TABLE _prisma_migrations; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews._prisma_migrations TO challenges; +GRANT SELECT ON TABLE reviews._prisma_migrations TO power_bi_readonly; + + +-- +-- TOC entry 8087 (class 0 OID 0) +-- Dependencies: 591 +-- Name: TABLE "aiWorkflow"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."aiWorkflow" TO challenges; +GRANT SELECT ON TABLE reviews."aiWorkflow" TO power_bi_readonly; + + +-- +-- TOC entry 8088 (class 0 OID 0) +-- Dependencies: 592 +-- Name: TABLE "aiWorkflowRun"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."aiWorkflowRun" TO challenges; +GRANT SELECT ON TABLE reviews."aiWorkflowRun" TO power_bi_readonly; + + +-- +-- TOC entry 8089 (class 0 OID 0) +-- Dependencies: 593 +-- Name: TABLE "aiWorkflowRunItem"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."aiWorkflowRunItem" TO challenges; +GRANT SELECT ON TABLE reviews."aiWorkflowRunItem" TO power_bi_readonly; + + +-- +-- TOC entry 8090 (class 0 OID 0) +-- Dependencies: 594 +-- Name: TABLE "aiWorkflowRunItemComment"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."aiWorkflowRunItemComment" TO challenges; +GRANT SELECT ON TABLE reviews."aiWorkflowRunItemComment" TO power_bi_readonly; + + +-- +-- TOC entry 8091 (class 0 OID 0) +-- Dependencies: 577 +-- Name: TABLE appeal; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews.appeal TO challenges; +GRANT SELECT ON TABLE reviews.appeal TO power_bi_readonly; + + +-- +-- TOC entry 8092 (class 0 OID 0) +-- Dependencies: 578 +-- Name: TABLE "appealResponse"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."appealResponse" TO challenges; +GRANT SELECT ON TABLE reviews."appealResponse" TO power_bi_readonly; + + +-- +-- TOC entry 8093 (class 0 OID 0) +-- Dependencies: 579 +-- Name: TABLE "challengeResult"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."challengeResult" TO challenges; +GRANT SELECT ON TABLE reviews."challengeResult" TO power_bi_readonly; + + +-- +-- TOC entry 8094 (class 0 OID 0) +-- Dependencies: 580 +-- Name: TABLE "contactRequest"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."contactRequest" TO challenges; +GRANT SELECT ON TABLE reviews."contactRequest" TO power_bi_readonly; + + +-- +-- TOC entry 8095 (class 0 OID 0) +-- Dependencies: 588 +-- Name: TABLE "gitWebhookLog"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."gitWebhookLog" TO challenges; +GRANT SELECT ON TABLE reviews."gitWebhookLog" TO power_bi_readonly; + + +-- +-- TOC entry 8096 (class 0 OID 0) +-- Dependencies: 590 +-- Name: TABLE "llmModel"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."llmModel" TO challenges; +GRANT SELECT ON TABLE reviews."llmModel" TO power_bi_readonly; + + +-- +-- TOC entry 8097 (class 0 OID 0) +-- Dependencies: 589 +-- Name: TABLE "llmProvider"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."llmProvider" TO challenges; +GRANT SELECT ON TABLE reviews."llmProvider" TO power_bi_readonly; + + +-- +-- TOC entry 8098 (class 0 OID 0) +-- Dependencies: 587 +-- Name: TABLE "resourceSubmission"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."resourceSubmission" TO challenges; +GRANT SELECT ON TABLE reviews."resourceSubmission" TO power_bi_readonly; + + +-- +-- TOC entry 8099 (class 0 OID 0) +-- Dependencies: 574 +-- Name: TABLE review; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews.review TO challenges; +GRANT SELECT ON TABLE reviews.review TO power_bi_readonly; + + +-- +-- TOC entry 8100 (class 0 OID 0) +-- Dependencies: 582 +-- Name: TABLE "reviewApplication"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewApplication" TO challenges; +GRANT SELECT ON TABLE reviews."reviewApplication" TO power_bi_readonly; + + +-- +-- TOC entry 8101 (class 0 OID 0) +-- Dependencies: 595 +-- Name: TABLE "reviewAudit"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewAudit" TO challenges; +GRANT SELECT ON TABLE reviews."reviewAudit" TO power_bi_readonly; + + +-- +-- TOC entry 8102 (class 0 OID 0) +-- Dependencies: 575 +-- Name: TABLE "reviewItem"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewItem" TO challenges; +GRANT SELECT ON TABLE reviews."reviewItem" TO power_bi_readonly; + + +-- +-- TOC entry 8103 (class 0 OID 0) +-- Dependencies: 576 +-- Name: TABLE "reviewItemComment"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewItemComment" TO challenges; +GRANT SELECT ON TABLE reviews."reviewItemComment" TO power_bi_readonly; + + +-- +-- TOC entry 8104 (class 0 OID 0) +-- Dependencies: 581 +-- Name: TABLE "reviewOpportunity"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewOpportunity" TO challenges; +GRANT SELECT ON TABLE reviews."reviewOpportunity" TO power_bi_readonly; + + +-- +-- TOC entry 8105 (class 0 OID 0) +-- Dependencies: 584 +-- Name: TABLE "reviewSummation"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewSummation" TO challenges; +GRANT SELECT ON TABLE reviews."reviewSummation" TO power_bi_readonly; + + +-- +-- TOC entry 8106 (class 0 OID 0) +-- Dependencies: 583 +-- Name: TABLE "reviewType"; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews."reviewType" TO challenges; +GRANT SELECT ON TABLE reviews."reviewType" TO power_bi_readonly; + + +-- +-- TOC entry 8107 (class 0 OID 0) +-- Dependencies: 600 +-- Name: TABLE review_pending_summary; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE reviews.review_pending_summary TO challenges; +GRANT SELECT ON TABLE reviews.review_pending_summary TO power_bi_readonly; + + +-- +-- TOC entry 8108 (class 0 OID 0) +-- Dependencies: 570 +-- Name: TABLE scorecard; Type: ACL; Schema: reviews; Owner: reviews +-- + +GRANT SELECT ON TABLE reviews.scorecard TO challenges; +GRANT SELECT ON TABLE reviews.scorecard TO power_bi_readonly; + + +-- +-- TOC entry 8109 (class 0 OID 0) +-- Dependencies: 571 +-- Name: TABLE "scorecardGroup"; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.timelines TO projects; +GRANT SELECT ON TABLE reviews."scorecardGroup" TO challenges; +GRANT SELECT ON TABLE reviews."scorecardGroup" TO power_bi_readonly; -- --- TOC entry 7854 (class 0 OID 0) --- Dependencies: 297 --- Name: SEQUENCE timelines_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 8110 (class 0 OID 0) +-- Dependencies: 573 +-- Name: TABLE "scorecardQuestion"; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT ALL ON SEQUENCE projects.timelines_id_seq TO projects; +GRANT SELECT ON TABLE reviews."scorecardQuestion" TO challenges; +GRANT SELECT ON TABLE reviews."scorecardQuestion" TO power_bi_readonly; -- --- TOC entry 7855 (class 0 OID 0) --- Dependencies: 298 --- Name: TABLE work_management_permissions; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 8111 (class 0 OID 0) +-- Dependencies: 572 +-- Name: TABLE "scorecardSection"; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.work_management_permissions TO projects; +GRANT SELECT ON TABLE reviews."scorecardSection" TO challenges; +GRANT SELECT ON TABLE reviews."scorecardSection" TO power_bi_readonly; -- --- TOC entry 7857 (class 0 OID 0) --- Dependencies: 299 --- Name: SEQUENCE work_management_permissions_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 8112 (class 0 OID 0) +-- Dependencies: 585 +-- Name: TABLE submission; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT ALL ON SEQUENCE projects.work_management_permissions_id_seq TO projects; +GRANT SELECT ON TABLE reviews.submission TO challenges; +GRANT SELECT ON TABLE reviews.submission TO power_bi_readonly; -- --- TOC entry 7858 (class 0 OID 0) --- Dependencies: 300 --- Name: TABLE work_streams; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 8113 (class 0 OID 0) +-- Dependencies: 596 +-- Name: TABLE "submissionAccessAudit"; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE projects.work_streams TO projects; +GRANT SELECT ON TABLE reviews."submissionAccessAudit" TO challenges; +GRANT SELECT ON TABLE reviews."submissionAccessAudit" TO power_bi_readonly; -- --- TOC entry 7860 (class 0 OID 0) --- Dependencies: 301 --- Name: SEQUENCE work_streams_id_seq; Type: ACL; Schema: projects; Owner: topcoder +-- TOC entry 8114 (class 0 OID 0) +-- Dependencies: 586 +-- Name: TABLE upload; Type: ACL; Schema: reviews; Owner: reviews -- -GRANT ALL ON SEQUENCE projects.work_streams_id_seq TO projects; +GRANT SELECT ON TABLE reviews.upload TO challenges; +GRANT SELECT ON TABLE reviews.upload TO power_bi_readonly; -- --- TOC entry 7861 (class 0 OID 0) --- Dependencies: 413 +-- TOC entry 8115 (class 0 OID 0) +-- Dependencies: 410 -- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills."SequelizeMeta" TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills."SequelizeMeta" TO member_skills; +GRANT SELECT ON TABLE skills."SequelizeMeta" TO power_bi_readonly; -- --- TOC entry 7862 (class 0 OID 0) --- Dependencies: 414 +-- TOC entry 8116 (class 0 OID 0) +-- Dependencies: 411 -- Name: TABLE event; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.event TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.event TO member_skills; +GRANT SELECT ON TABLE skills.event TO power_bi_readonly; -- --- TOC entry 7863 (class 0 OID 0) --- Dependencies: 415 +-- TOC entry 8117 (class 0 OID 0) +-- Dependencies: 412 -- Name: TABLE legacy_skill_map; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.legacy_skill_map TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.legacy_skill_map TO member_skills; +GRANT SELECT ON TABLE skills.legacy_skill_map TO power_bi_readonly; -- --- TOC entry 7864 (class 0 OID 0) --- Dependencies: 416 +-- TOC entry 8118 (class 0 OID 0) +-- Dependencies: 413 -- Name: TABLE prod_challenge_emsi_skills; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_challenge_emsi_skills TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_challenge_emsi_skills TO member_skills; +GRANT SELECT ON TABLE skills.prod_challenge_emsi_skills TO power_bi_readonly; -- --- TOC entry 7865 (class 0 OID 0) --- Dependencies: 417 +-- TOC entry 8119 (class 0 OID 0) +-- Dependencies: 414 -- Name: TABLE prod_job_emsi_skills; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_job_emsi_skills TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_job_emsi_skills TO member_skills; +GRANT SELECT ON TABLE skills.prod_job_emsi_skills TO power_bi_readonly; -- --- TOC entry 7866 (class 0 OID 0) --- Dependencies: 418 +-- TOC entry 8120 (class 0 OID 0) +-- Dependencies: 415 -- Name: TABLE prod_user_emsi_skills; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_user_emsi_skills TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_user_emsi_skills TO member_skills; +GRANT SELECT ON TABLE skills.prod_user_emsi_skills TO power_bi_readonly; -- --- TOC entry 7867 (class 0 OID 0) --- Dependencies: 419 +-- TOC entry 8121 (class 0 OID 0) +-- Dependencies: 416 -- Name: TABLE prod_v5_skills; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_v5_skills TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.prod_v5_skills TO member_skills; +GRANT SELECT ON TABLE skills.prod_v5_skills TO power_bi_readonly; -- --- TOC entry 7868 (class 0 OID 0) --- Dependencies: 420 +-- TOC entry 8122 (class 0 OID 0) +-- Dependencies: 417 -- Name: TABLE skill; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill TO member_skills; +GRANT SELECT ON TABLE skills.skill TO power_bi_readonly; -- --- TOC entry 7869 (class 0 OID 0) --- Dependencies: 421 +-- TOC entry 8123 (class 0 OID 0) +-- Dependencies: 418 -- Name: TABLE skill_category; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_category TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_category TO member_skills; +GRANT SELECT ON TABLE skills.skill_category TO power_bi_readonly; -- --- TOC entry 7870 (class 0 OID 0) --- Dependencies: 422 +-- TOC entry 8124 (class 0 OID 0) +-- Dependencies: 419 -- Name: TABLE skill_event; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_event TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_event TO member_skills; +GRANT SELECT ON TABLE skills.skill_event TO power_bi_readonly; -- --- TOC entry 7871 (class 0 OID 0) --- Dependencies: 423 +-- TOC entry 8125 (class 0 OID 0) +-- Dependencies: 420 -- Name: TABLE skill_event_type; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_event_type TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_event_type TO member_skills; +GRANT SELECT ON TABLE skills.skill_event_type TO power_bi_readonly; -- --- TOC entry 7872 (class 0 OID 0) --- Dependencies: 424 +-- TOC entry 8126 (class 0 OID 0) +-- Dependencies: 421 -- Name: TABLE skill_replacement; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_replacement TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_replacement TO member_skills; +GRANT SELECT ON TABLE skills.skill_replacement TO power_bi_readonly; -- --- TOC entry 7873 (class 0 OID 0) --- Dependencies: 425 +-- TOC entry 8127 (class 0 OID 0) +-- Dependencies: 422 -- Name: TABLE skill_to_emsi_skill_map; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_to_emsi_skill_map TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.skill_to_emsi_skill_map TO member_skills; +GRANT SELECT ON TABLE skills.skill_to_emsi_skill_map TO power_bi_readonly; -- --- TOC entry 7874 (class 0 OID 0) --- Dependencies: 426 +-- TOC entry 8128 (class 0 OID 0) +-- Dependencies: 423 -- Name: TABLE source_type; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.source_type TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.source_type TO member_skills; +GRANT SELECT ON TABLE skills.source_type TO power_bi_readonly; -- --- TOC entry 7875 (class 0 OID 0) --- Dependencies: 427 +-- TOC entry 8129 (class 0 OID 0) +-- Dependencies: 424 -- Name: TABLE user_skill; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill TO member_skills; +GRANT SELECT ON TABLE skills.user_skill TO power_bi_readonly; -- --- TOC entry 7876 (class 0 OID 0) --- Dependencies: 428 +-- TOC entry 8130 (class 0 OID 0) +-- Dependencies: 425 -- Name: TABLE user_skill_display_mode; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill_display_mode TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill_display_mode TO member_skills; +GRANT SELECT ON TABLE skills.user_skill_display_mode TO power_bi_readonly; -- --- TOC entry 7877 (class 0 OID 0) --- Dependencies: 429 +-- TOC entry 8131 (class 0 OID 0) +-- Dependencies: 426 -- Name: TABLE user_skill_level; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill_level TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.user_skill_level TO member_skills; +GRANT SELECT ON TABLE skills.user_skill_level TO power_bi_readonly; -- --- TOC entry 7878 (class 0 OID 0) --- Dependencies: 430 +-- TOC entry 8132 (class 0 OID 0) +-- Dependencies: 427 -- Name: TABLE vw_all_skills_with_category; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_all_skills_with_category TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_all_skills_with_category TO member_skills; +GRANT SELECT ON TABLE skills.vw_all_skills_with_category TO power_bi_readonly; -- --- TOC entry 7879 (class 0 OID 0) --- Dependencies: 431 +-- TOC entry 8133 (class 0 OID 0) +-- Dependencies: 428 -- Name: TABLE vw_skill_to_emsi_map; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_skill_to_emsi_map TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_skill_to_emsi_map TO member_skills; +GRANT SELECT ON TABLE skills.vw_skill_to_emsi_map TO power_bi_readonly; -- --- TOC entry 7880 (class 0 OID 0) --- Dependencies: 432 +-- TOC entry 8134 (class 0 OID 0) +-- Dependencies: 429 -- Name: TABLE "vw_user_AI_skill_counts"; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills."vw_user_AI_skill_counts" TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills."vw_user_AI_skill_counts" TO member_skills; +GRANT SELECT ON TABLE skills."vw_user_AI_skill_counts" TO power_bi_readonly; -- --- TOC entry 7881 (class 0 OID 0) --- Dependencies: 433 +-- TOC entry 8135 (class 0 OID 0) +-- Dependencies: 430 -- Name: TABLE vw_v5_skill_to_std_skill_map; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_v5_skill_to_std_skill_map TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.vw_v5_skill_to_std_skill_map TO member_skills; +GRANT SELECT ON TABLE skills.vw_v5_skill_to_std_skill_map TO power_bi_readonly; -- --- TOC entry 7882 (class 0 OID 0) --- Dependencies: 434 +-- TOC entry 8136 (class 0 OID 0) +-- Dependencies: 431 -- Name: TABLE work_skill; Type: ACL; Schema: skills; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.work_skill TO skills; GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE skills.work_skill TO member_skills; +GRANT SELECT ON TABLE skills.work_skill TO power_bi_readonly; -- --- TOC entry 7883 (class 0 OID 0) --- Dependencies: 412 +-- TOC entry 8137 (class 0 OID 0) +-- Dependencies: 409 -- Name: TABLE "SequelizeMeta"; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas."SequelizeMeta" TO taas; +GRANT SELECT ON TABLE taas."SequelizeMeta" TO power_bi_readonly; -- --- TOC entry 7884 (class 0 OID 0) --- Dependencies: 401 +-- TOC entry 8138 (class 0 OID 0) +-- Dependencies: 398 -- Name: TABLE interviews; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.interviews TO taas; +GRANT SELECT ON TABLE taas.interviews TO power_bi_readonly; -- --- TOC entry 7885 (class 0 OID 0) --- Dependencies: 402 +-- TOC entry 8139 (class 0 OID 0) +-- Dependencies: 399 -- Name: TABLE job_candidates; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.job_candidates TO taas; +GRANT SELECT ON TABLE taas.job_candidates TO power_bi_readonly; -- --- TOC entry 7886 (class 0 OID 0) --- Dependencies: 403 +-- TOC entry 8140 (class 0 OID 0) +-- Dependencies: 400 -- Name: TABLE jobs; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.jobs TO taas; +GRANT SELECT ON TABLE taas.jobs TO power_bi_readonly; -- --- TOC entry 7887 (class 0 OID 0) --- Dependencies: 404 +-- TOC entry 8141 (class 0 OID 0) +-- Dependencies: 401 -- Name: TABLE legacy_skill_map; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.legacy_skill_map TO taas; +GRANT SELECT ON TABLE taas.legacy_skill_map TO power_bi_readonly; -- --- TOC entry 7888 (class 0 OID 0) --- Dependencies: 405 +-- TOC entry 8142 (class 0 OID 0) +-- Dependencies: 402 -- Name: TABLE payment_schedulers; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.payment_schedulers TO taas; +GRANT SELECT ON TABLE taas.payment_schedulers TO power_bi_readonly; -- --- TOC entry 7889 (class 0 OID 0) --- Dependencies: 406 +-- TOC entry 8143 (class 0 OID 0) +-- Dependencies: 403 -- Name: TABLE resource_bookings; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.resource_bookings TO taas; +GRANT SELECT ON TABLE taas.resource_bookings TO power_bi_readonly; -- --- TOC entry 7890 (class 0 OID 0) --- Dependencies: 407 +-- TOC entry 8144 (class 0 OID 0) +-- Dependencies: 404 -- Name: TABLE role_search_requests; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.role_search_requests TO taas; +GRANT SELECT ON TABLE taas.role_search_requests TO power_bi_readonly; -- --- TOC entry 7891 (class 0 OID 0) --- Dependencies: 408 +-- TOC entry 8145 (class 0 OID 0) +-- Dependencies: 405 -- Name: TABLE roles; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.roles TO taas; +GRANT SELECT ON TABLE taas.roles TO power_bi_readonly; -- --- TOC entry 7892 (class 0 OID 0) --- Dependencies: 409 +-- TOC entry 8146 (class 0 OID 0) +-- Dependencies: 406 -- Name: TABLE user_meeting_settings; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.user_meeting_settings TO taas; +GRANT SELECT ON TABLE taas.user_meeting_settings TO power_bi_readonly; -- --- TOC entry 7893 (class 0 OID 0) --- Dependencies: 410 +-- TOC entry 8147 (class 0 OID 0) +-- Dependencies: 407 -- Name: TABLE work_period_payments; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.work_period_payments TO taas; +GRANT SELECT ON TABLE taas.work_period_payments TO power_bi_readonly; -- --- TOC entry 7894 (class 0 OID 0) --- Dependencies: 411 +-- TOC entry 8148 (class 0 OID 0) +-- Dependencies: 408 -- Name: TABLE work_periods; Type: ACL; Schema: taas; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE taas.work_periods TO taas; +GRANT SELECT ON TABLE taas.work_periods TO power_bi_readonly; -- --- TOC entry 7895 (class 0 OID 0) --- Dependencies: 376 +-- TOC entry 8149 (class 0 OID 0) +-- Dependencies: 373 -- Name: TABLE "DocusignEnvelope"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."DocusignEnvelope" TO terms; +GRANT SELECT ON TABLE terms."DocusignEnvelope" TO power_bi_readonly; -- --- TOC entry 7896 (class 0 OID 0) --- Dependencies: 377 +-- TOC entry 8150 (class 0 OID 0) +-- Dependencies: 374 -- Name: TABLE "TermsForResource"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsForResource" TO terms; +GRANT SELECT ON TABLE terms."TermsForResource" TO power_bi_readonly; -- --- TOC entry 7897 (class 0 OID 0) --- Dependencies: 378 +-- TOC entry 8151 (class 0 OID 0) +-- Dependencies: 375 -- Name: TABLE "TermsOfUse"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsOfUse" TO terms; +GRANT SELECT ON TABLE terms."TermsOfUse" TO power_bi_readonly; -- --- TOC entry 7898 (class 0 OID 0) --- Dependencies: 379 +-- TOC entry 8152 (class 0 OID 0) +-- Dependencies: 376 -- Name: TABLE "TermsOfUseAgreeabilityType"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsOfUseAgreeabilityType" TO terms; +GRANT SELECT ON TABLE terms."TermsOfUseAgreeabilityType" TO power_bi_readonly; -- --- TOC entry 7899 (class 0 OID 0) --- Dependencies: 380 +-- TOC entry 8153 (class 0 OID 0) +-- Dependencies: 377 -- Name: TABLE "TermsOfUseDependency"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsOfUseDependency" TO terms; +GRANT SELECT ON TABLE terms."TermsOfUseDependency" TO power_bi_readonly; -- --- TOC entry 7900 (class 0 OID 0) --- Dependencies: 381 +-- TOC entry 8154 (class 0 OID 0) +-- Dependencies: 378 -- Name: TABLE "TermsOfUseDocusignTemplateXref"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsOfUseDocusignTemplateXref" TO terms; +GRANT SELECT ON TABLE terms."TermsOfUseDocusignTemplateXref" TO power_bi_readonly; -- --- TOC entry 7901 (class 0 OID 0) --- Dependencies: 382 +-- TOC entry 8155 (class 0 OID 0) +-- Dependencies: 379 -- Name: TABLE "TermsOfUseType"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."TermsOfUseType" TO terms; +GRANT SELECT ON TABLE terms."TermsOfUseType" TO power_bi_readonly; -- --- TOC entry 7902 (class 0 OID 0) --- Dependencies: 383 +-- TOC entry 8156 (class 0 OID 0) +-- Dependencies: 380 -- Name: TABLE "UserTermsOfUseBanXref"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."UserTermsOfUseBanXref" TO terms; +GRANT SELECT ON TABLE terms."UserTermsOfUseBanXref" TO power_bi_readonly; -- --- TOC entry 7903 (class 0 OID 0) --- Dependencies: 384 +-- TOC entry 8157 (class 0 OID 0) +-- Dependencies: 381 -- Name: TABLE "UserTermsOfUseXref"; Type: ACL; Schema: terms; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE terms."UserTermsOfUseXref" TO terms; +GRANT SELECT ON TABLE terms."UserTermsOfUseXref" TO power_bi_readonly; -- --- TOC entry 7904 (class 0 OID 0) --- Dependencies: 345 +-- TOC entry 8158 (class 0 OID 0) +-- Dependencies: 342 -- Name: TABLE events; Type: ACL; Schema: timeline; Owner: topcoder -- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE timeline.events TO timeline; +GRANT SELECT ON TABLE timeline.events TO power_bi_readonly; -- --- TOC entry 7906 (class 0 OID 0) --- Dependencies: 346 +-- TOC entry 8160 (class 0 OID 0) +-- Dependencies: 343 -- Name: SEQUENCE events_id_seq; Type: ACL; Schema: timeline; Owner: topcoder -- GRANT ALL ON SEQUENCE timeline.events_id_seq TO timeline; --- Completed on 2025-10-27 07:52:24 AEDT +-- +-- TOC entry 3527 (class 826 OID 2105784) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: academy; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA academy GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3528 (class 826 OID 2105785) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: autopilot; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA autopilot GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3529 (class 826 OID 2105786) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: billing-accounts; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA "billing-accounts" GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3530 (class 826 OID 2105787) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: challenges; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA challenges GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3531 (class 826 OID 2105788) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: emails; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA emails GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3532 (class 826 OID 2105789) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: finance; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA finance GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3533 (class 826 OID 2105790) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: gamification; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA gamification GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3534 (class 826 OID 2105791) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: groups; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA groups GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3535 (class 826 OID 2105792) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: identity; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA identity GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3536 (class 826 OID 2105793) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: lookups; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA lookups GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3537 (class 826 OID 2105794) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: members; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA members GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3538 (class 826 OID 2105795) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: messages; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA messages GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3539 (class 826 OID 2105796) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: notifications; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA notifications GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3540 (class 826 OID 2105797) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: projects; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA projects GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3541 (class 826 OID 2105798) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: resources; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA resources GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3542 (class 826 OID 2105799) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: reviews; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA reviews GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3543 (class 826 OID 2105800) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: skills; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA skills GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3544 (class 826 OID 2105801) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: taas; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA taas GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3545 (class 826 OID 2105802) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: terms; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA terms GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- +-- TOC entry 3546 (class 826 OID 2105803) +-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: timeline; Owner: topcoder +-- + +ALTER DEFAULT PRIVILEGES FOR ROLE topcoder IN SCHEMA timeline GRANT SELECT ON TABLES TO power_bi_readonly; + + +-- Completed on 2025-11-25 11:43:06 AEDT -- -- PostgreSQL database dump complete -- -\unrestrict s16NovA9EFBc13dBHlnDEcS07mSi2bKZrbuVMRHyMVer1OegddV4BfKSOHzAqYR +\unrestrict Aamsb0w6QlUnTHU724QaKOrqwzyz9pVhXQENKuxshNefvZ1e3SmtbIPHI8uc1NG diff --git a/sql/reports/sfdc/ba-fees-monthly.sql b/sql/reports/sfdc/ba-fees-monthly.sql new file mode 100644 index 0000000..6da2feb --- /dev/null +++ b/sql/reports/sfdc/ba-fees-monthly.sql @@ -0,0 +1,50 @@ +WITH filtered_payments AS ( + SELECT + p.payment_id, + p.billing_account, + p.challenge_fee, + p.total_amount, + p.created_at, + CASE p.payment_status + WHEN 'PROCESSING' THEN 'Entered into payment system' + WHEN 'ON_HOLD' THEN 'On hold' + WHEN 'ON_HOLD_ADMIN' THEN 'On hold - admin' + WHEN 'OWED' THEN 'Owed' + WHEN 'PAID' THEN 'Paid' + WHEN 'CANCELLED' THEN 'Cancelled' + WHEN 'FAILED' THEN 'Failed' + WHEN 'RETURNED' THEN 'Returned' + ELSE p.payment_status::text + END AS payment_status_desc + FROM finance.payment p + LEFT JOIN finance.winnings w + ON w.winning_id = p.winnings_id + WHERE + ($1::timestamptz IS NULL OR p.created_at >= $1::timestamptz) + AND ($2::timestamptz IS NULL OR p.created_at <= $2::timestamptz) + AND ($3::text[] IS NULL OR p.billing_account = ANY($3::text[])) + AND ($4::text[] IS NULL OR p.billing_account != ALL($4::text[])) +), +latest_status AS ( + SELECT DISTINCT ON (billing_account) + billing_account, + payment_status_desc + FROM filtered_payments + ORDER BY billing_account, created_at DESC +) +SELECT + fp.billing_account AS "billingAccountId", + TO_CHAR(DATE_TRUNC('month', fp.created_at), 'YYYY-MM') AS "month", + COALESCE(SUM(fp.challenge_fee), 0) AS "totalFees", + COALESCE(SUM(fp.total_amount), 0) AS "totalMemberPayments", + COUNT(fp.payment_id) AS "paymentCount", + MIN(fp.created_at)::date AS "earliestPaymentDate", + MAX(fp.created_at)::date AS "latestPaymentDate", + ls.payment_status_desc AS "currentPaymentStatus" +FROM filtered_payments fp +LEFT JOIN latest_status ls ON ls.billing_account = fp.billing_account +GROUP BY + fp.billing_account, + DATE_TRUNC('month', fp.created_at), + ls.payment_status_desc +ORDER BY fp.billing_account, "month" DESC; diff --git a/sql/reports/sfdc/ba-fees.sql b/sql/reports/sfdc/ba-fees.sql index 661aec4..8e8cbe2 100644 --- a/sql/reports/sfdc/ba-fees.sql +++ b/sql/reports/sfdc/ba-fees.sql @@ -1,12 +1,42 @@ -SELECT - p.billing_account as billing_account_id, - COALESCE(SUM(p.challenge_fee), 0) AS total_fees, - COALESCE(SUM(p.total_amount), 0) AS total_member_payments -FROM finance.payment p -LEFT JOIN finance.winnings w - ON w.winning_id = p.winnings_id -WHERE - p.created_at >= $1::timestamptz - AND ($2::timestamptz IS NULL OR p.created_at <= $2::timestamptz) -GROUP BY p.billing_account -ORDER BY p.billing_account; +WITH filtered_payments AS ( + SELECT + p.billing_account, + p.challenge_fee, + p.total_amount, + p.created_at, + CASE p.payment_status + WHEN 'PROCESSING' THEN 'Entered into payment system' + WHEN 'ON_HOLD' THEN 'On hold' + WHEN 'ON_HOLD_ADMIN' THEN 'On hold - admin' + WHEN 'OWED' THEN 'Owed' + WHEN 'PAID' THEN 'Paid' + WHEN 'CANCELLED' THEN 'Cancelled' + WHEN 'FAILED' THEN 'Failed' + WHEN 'RETURNED' THEN 'Returned' + ELSE p.payment_status::text + END AS payment_status_desc + FROM finance.payment p + LEFT JOIN finance.winnings w + ON w.winning_id = p.winnings_id + WHERE + ($1::timestamptz IS NULL OR p.created_at >= $1::timestamptz) + AND ($2::timestamptz IS NULL OR p.created_at <= $2::timestamptz) + AND ($3::text[] IS NULL OR p.billing_account = ANY($3::text[])) + AND ($4::text[] IS NULL OR p.billing_account != ALL($4::text[])) +), +latest_status AS ( + SELECT DISTINCT ON (billing_account) + billing_account, + payment_status_desc + FROM filtered_payments + ORDER BY billing_account, created_at DESC +) +SELECT + fp.billing_account AS "billingAccountId", + COALESCE(SUM(fp.challenge_fee), 0) AS "totalFees", + COALESCE(SUM(fp.total_amount), 0) AS "totalMemberPayments", + ls.payment_status_desc AS "currentPaymentStatus" +FROM filtered_payments fp +LEFT JOIN latest_status ls ON ls.billing_account = fp.billing_account +GROUP BY fp.billing_account, ls.payment_status_desc +ORDER BY fp.billing_account; diff --git a/sql/reports/sfdc/challenges.sql b/sql/reports/sfdc/challenges.sql new file mode 100644 index 0000000..c18a9bd --- /dev/null +++ b/sql/reports/sfdc/challenges.sql @@ -0,0 +1,35 @@ +SELECT + c.id as "challengeId", + c.name AS "challengeName", + p.billing_account as "billingAccountId", + c.status as "challengeStatus", + c."endDate" as "completeDate", + p.created_at as "paymentDate", + c."taskIsTask" AS "isTask", + p.challenge_fee as "challengeFee", + p.total_amount as "memberPayments", + p.total_amount + p.challenge_fee as "lineItemAmount", + m.handle AS "memberHandle", + m."firstName" as "memberFirstName", + m."lastName" as "memberLastName" +FROM finance.payment p +LEFT JOIN finance.winnings w + ON w.winning_id = p.winnings_id +LEFT JOIN challenges."Challenge" c + ON c.id = w.external_id +LEFT JOIN members.member m + ON m."userId" = w.winner_id::bigint +WHERE + ($1::text[] IS NULL OR p.billing_account = ANY($1::text[])) + AND ($2::text[] IS NULL OR p.billing_account <> ANY($2::text[])) + AND ($3::text[] IS NULL OR c.id = ANY($3::text[])) + AND ($4::text IS NULL OR c.name ILIKE '%' || $4 || '%') + AND ($5::text[] IS NULL OR c.status::text = ANY($5::text[])) + AND ($6::timestamptz IS NULL OR c."endDate" >= $6::timestamptz) + AND ($7::timestamptz IS NULL OR c."endDate" <= $7::timestamptz) + AND ($8::boolean IS NULL OR c."taskIsTask" = $8::boolean) + AND ($9::text[] IS NULL OR m.handle = ANY($9::text[])) + AND ($10::numeric IS NULL OR (p.total_amount + p.challenge_fee) >= $10::numeric) + AND ($11::numeric IS NULL OR (p.total_amount + p.challenge_fee) <= $11::numeric) +ORDER BY c."endDate" DESC, p.created_at DESC +LIMIT 1000; diff --git a/sql/reports/sfdc/payments.sql b/sql/reports/sfdc/payments.sql index 4de705b..9a84a61 100644 --- a/sql/reports/sfdc/payments.sql +++ b/sql/reports/sfdc/payments.sql @@ -4,11 +4,12 @@ SELECT p.billing_account as "billingAccountId", p.payment_status as "paymentStatus", p.challenge_fee as "challengeFee", - p.total_amount as "paymentAmount", + p.total_amount as "paymentAmount", -- Looker cost_transaction.member_payments w.external_id as "challengeId", w.category, (w.category = 'TASK_PAYMENT') AS "isTask", c.name AS "challengeName", + c.status AS "challengeStatus", m.handle AS "winnerHandle", m."userId" as "winnerId", m."firstName" as "winnerFirstName", @@ -38,5 +39,6 @@ WHERE AND ($7::timestamptz IS NULL OR p.created_at <= $7::timestamptz) AND ($8::numeric IS NULL OR p.total_amount >= $8::numeric) AND ($9::numeric IS NULL OR p.total_amount <= $9::numeric) + AND ($10::text[] IS NULL OR c.status::text = ANY($10::text[])) ORDER BY p.created_at DESC LIMIT 1000; diff --git a/sql/reports/sfdc/taas-jobs.sql b/sql/reports/sfdc/taas-jobs.sql new file mode 100644 index 0000000..0f0a7f4 --- /dev/null +++ b/sql/reports/sfdc/taas-jobs.sql @@ -0,0 +1,34 @@ +SELECT + j.id AS "jobId", + j.project_id AS "projectId", + j.external_id AS "externalId", + j.title, + j.description, + j.status, + j.resource_type AS "resourceType", + j.rate_type AS "rateType", + j.skills, + j.num_positions AS "numPositions", + j.start_date AS "startDate", + j.duration, + j.workload, + j.min_salary AS "minSalary", + j.max_salary AS "maxSalary", + j.hours_per_week AS "hoursPerWeek", + j.currency, + j.created_at AS "createdAt", + j.updated_at AS "updatedAt" +FROM taas.jobs j +WHERE + j.deleted_at IS NULL + AND ($1::uuid[] IS NULL OR j.id = ANY($1)) + AND ($2::integer[] IS NULL OR j.project_id = ANY($2)) + AND ($3::text[] IS NULL OR j.status = ANY($3)) + AND ($4::text[] IS NULL OR j.resource_type = ANY($4)) + AND ($5::text[] IS NULL OR j.skills ?| $5) + AND ($6::timestamp IS NULL OR j.start_date >= $6::date) + AND ($7::timestamp IS NULL OR j.start_date <= $7::date) + AND ($8::integer IS NULL OR j.num_positions >= $8) + AND ($9::integer IS NULL OR j.num_positions <= $9) +ORDER BY j.created_at DESC +LIMIT 1000; diff --git a/sql/reports/sfdc/taas-member-verification.sql b/sql/reports/sfdc/taas-member-verification.sql new file mode 100644 index 0000000..1cb11a7 --- /dev/null +++ b/sql/reports/sfdc/taas-member-verification.sql @@ -0,0 +1,19 @@ +SELECT + u.handle, + u.user_id::text AS "userId", + (v.verification_status = 'ACTIVE') AS verified, + CASE + WHEN v.verification_status = 'ACTIVE' THEN 'Verified' + ELSE 'Unverified' + END AS "verificationStatus" +FROM identity."user" u +LEFT JOIN LATERAL ( + SELECT verification_status + FROM finance.user_identity_verification_associations uiva + WHERE uiva.user_id = u.user_id::text + ORDER BY uiva.date_filed DESC + LIMIT 1 +) v ON true +WHERE + LOWER(u.handle) = ANY($1::text[]) +ORDER BY u.handle; diff --git a/sql/reports/sfdc/taas-resource-bookings.sql b/sql/reports/sfdc/taas-resource-bookings.sql new file mode 100644 index 0000000..18c9f6a --- /dev/null +++ b/sql/reports/sfdc/taas-resource-bookings.sql @@ -0,0 +1,34 @@ +SELECT + rb.id AS "resourceBookingId", + rb.job_id AS "jobId", + rb.project_id AS "projectId", + rb.user_id AS "userId", + u.handle AS "userHandle", + u.first_name AS "firstName", + u.last_name AS "lastName", + rb.status, + rb.start_date AS "startDate", + rb.end_date AS "endDate", + rb.member_rate AS "memberRate", + rb.customer_rate AS "customerRate", + rb.rate_type AS "rateType", + rb.billing_account_id AS "billingAccountId", + rb.created_at AS "createdAt", + rb.updated_at AS "updatedAt" +FROM taas.resource_bookings rb +LEFT JOIN identity."user" u ON rb.user_id = u.user_id::text +WHERE + rb.deleted_at IS NULL + AND ($1::uuid[] IS NULL OR rb.id = ANY($1)) + AND ($2::uuid[] IS NULL OR rb.job_id = ANY($2)) + AND ($3::integer[] IS NULL OR rb.project_id = ANY($3)) + AND ($4::text[] IS NULL OR rb.user_id = ANY($4)) + AND ($5::text[] IS NULL OR LOWER(u.handle) = ANY($5)) + AND ($6::text[] IS NULL OR rb.status = ANY($6)) + AND ($7::text[] IS NULL OR rb.billing_account_id::text = ANY($7)) + AND ($8::timestamp IS NULL OR rb.start_date >= $8::date) + AND ($9::timestamp IS NULL OR rb.end_date <= $9::date) + AND ($10::numeric IS NULL OR rb.customer_rate >= $10) + AND ($11::numeric IS NULL OR rb.customer_rate <= $11) +ORDER BY rb.created_at DESC +LIMIT 1000; diff --git a/sql/reports/sfdc/western-union-payments.sql b/sql/reports/sfdc/western-union-payments.sql new file mode 100644 index 0000000..e7b6a32 --- /dev/null +++ b/sql/reports/sfdc/western-union-payments.sql @@ -0,0 +1,44 @@ +WITH payment_data AS ( + SELECT + p.payment_id, + p.gross_amount, + COALESCE(w.title, w.description) AS description, + w.external_id AS reference_id, + p.created_at, + u.handle, + pm.name AS payment_method_name, + pm.payment_method_type, + p.payment_status, + CASE p.payment_status + WHEN 'PROCESSING' THEN 'Entered into payment system' + WHEN 'ON_HOLD' THEN 'On hold' + WHEN 'ON_HOLD_ADMIN' THEN 'On hold - admin' + WHEN 'OWED' THEN 'Owed' + WHEN 'PAID' THEN 'Paid' + WHEN 'CANCELLED' THEN 'Cancelled' + WHEN 'FAILED' THEN 'Failed' + WHEN 'RETURNED' THEN 'Returned' + ELSE p.payment_status::text + END AS payment_status_desc + FROM finance.payment p + LEFT JOIN finance.winnings w ON w.winning_id = p.winnings_id + LEFT JOIN identity."user" u ON u.user_id::text = w.winner_id + LEFT JOIN finance.payment_method pm ON pm.payment_method_id = p.payment_method_id +) +SELECT + payment_id AS "paymentId", + handle, + gross_amount AS "grossAmount", + reference_id AS "referenceId", + description, + payment_status_desc AS "paymentStatus", + created_at AS "paymentDate" +FROM payment_data +WHERE + ($1::text IS NULL OR payment_status_desc ILIKE $1 OR payment_status::text ILIKE $1) + AND ($2::text IS NULL OR payment_method_name ILIKE $2 OR payment_method_type ILIKE $2) + AND ($3::timestamp IS NULL OR created_at >= $3) + AND ($4::timestamp IS NULL OR created_at <= $4) + AND ($5::text[] IS NULL OR LOWER(handle) = ANY($5)) +ORDER BY handle, created_at DESC +LIMIT 1000; diff --git a/src/app-constants.ts b/src/app-constants.ts index 2c4678a..19d8181 100644 --- a/src/app-constants.ts +++ b/src/app-constants.ts @@ -11,7 +11,12 @@ export const Scopes = { "reports:topgear-challenge-registrant-details", SFDC: { PaymentsReport: "reports:sfdc-payments", + ChallengesReport: "reports:sfdc-challenges-report", BA: "reports:sfdc-ba", + TaasJobs: "reports:sfdc-taas-jobs", + TaasResourceBookings: "reports:sfdc-taas-resource-bookings", + TaasMemberVerification: "reports:sfdc-taas-member-verification", + WesternUnionPayments: "reports:sfdc-western-union-payments", }, Challenge: { History: "reports:challenge-history", diff --git a/src/common/country.util.ts b/src/common/country.util.ts index f3d3581..66071e9 100644 --- a/src/common/country.util.ts +++ b/src/common/country.util.ts @@ -1,6 +1,16 @@ import * as countriesModule from "i18n-iso-countries"; +import { createRequire } from "node:module"; +import enLocaleJson from "i18n-iso-countries/langs/en.json"; -const enLocale = require("i18n-iso-countries/langs/en.json"); +type LocaleData = { locale: string; countries: Record }; + +const cjsRequire = createRequire(__filename); + +// Handle JSON default/non-default shapes across module systems, with a CJS fallback. +const enLocale: LocaleData = + (enLocaleJson as { default?: LocaleData } | undefined)?.default ?? + (enLocaleJson as LocaleData | undefined) ?? + (cjsRequire("i18n-iso-countries/langs/en.json") as LocaleData); // Handle environments where the module might be exposed on either the module // object itself or under a `default` export. diff --git a/src/common/csv/csv-serializer.ts b/src/common/csv/csv-serializer.ts index e15a812..3b5ac78 100644 --- a/src/common/csv/csv-serializer.ts +++ b/src/common/csv/csv-serializer.ts @@ -8,11 +8,11 @@ export class CsvSerializer { return this.serializeArray(data); } - if (typeof data === "object") { - return this.serializeObject(data as Record); + if (this.isRecord(data)) { + return this.serializeObject(data); } - return String(data); + return this.normalizeValue(data); } private serializeArray(values: unknown[]): string { @@ -21,7 +21,7 @@ export class CsvSerializer { } if (values.every((value) => this.isRecord(value))) { - return this.serializeRecords(values as Record[]); + return this.serializeRecords(values); } const header = ["value"]; @@ -90,11 +90,31 @@ export class CsvSerializer { return value.toISOString(); } - if (Array.isArray(value) || typeof value === "object") { + if (Array.isArray(value)) { return JSON.stringify(value); } - return String(value); + if (this.isRecord(value)) { + return JSON.stringify(value); + } + + if (typeof value === "string") { + return value; + } + + if ( + typeof value === "number" || + typeof value === "boolean" || + typeof value === "bigint" + ) { + return value.toString(); + } + + if (typeof value === "symbol") { + return value.toString(); + } + + return ""; } private escapeCsvCell(value: string): string { diff --git a/src/common/filtering.spec.ts b/src/common/filtering.spec.ts new file mode 100644 index 0000000..b56925e --- /dev/null +++ b/src/common/filtering.spec.ts @@ -0,0 +1,42 @@ +import { multiValueArrayFilter } from "./filtering"; + +describe("multiValueArrayFilter", () => { + it("returns empty include/exclude arrays for an empty input", () => { + expect(multiValueArrayFilter([])).toEqual({ include: [], exclude: [] }); + }); + + it("returns empty include/exclude arrays for undefined input", () => { + expect(multiValueArrayFilter(undefined)).toEqual({ + include: [], + exclude: [], + }); + }); + + it("splits include values", () => { + expect(multiValueArrayFilter(["12345", "67890"])).toEqual({ + include: ["12345", "67890"], + exclude: [], + }); + }); + + it("splits exclude values", () => { + expect(multiValueArrayFilter(["!12345", "!67890"])).toEqual({ + include: [], + exclude: ["12345", "67890"], + }); + }); + + it("splits mixed include and exclude values", () => { + expect(multiValueArrayFilter(["12345", "!67890", "11111"])).toEqual({ + include: ["12345", "11111"], + exclude: ["67890"], + }); + }); + + it("removes the exclusion prefix when present", () => { + expect(multiValueArrayFilter(["!abc"])).toEqual({ + include: [], + exclude: ["abc"], + }); + }); +}); diff --git a/src/reports/report-directory.data.ts b/src/reports/report-directory.data.ts index 2aebac7..119fc5c 100644 --- a/src/reports/report-directory.data.ts +++ b/src/reports/report-directory.data.ts @@ -1,12 +1,36 @@ +import { ChallengeStatus } from "./challenges/dtos/challenge-status.enum"; + export type ReportGroupKey = "challenges" | "sfdc" | "statistics" | "topcoder"; type HttpMethod = "GET"; +type ParameterLocation = "query" | "path"; + +type ReportParameterType = + | "string" + | "string[]" + | "number" + | "number[]" + | "boolean" + | "date" + | "enum" + | "enum[]"; + +export type ReportParameter = { + name: string; + type: ReportParameterType; + description?: string; + required?: boolean; + location?: ParameterLocation; + options?: string[]; +}; + export type AvailableReport = { name: string; path: string; description: string; method: HttpMethod; + parameters: ReportParameter[]; }; export type ReportGroup = { @@ -21,13 +45,155 @@ const report = ( name: string, path: string, description: string, + parameters: ReportParameter[] = [], ): AvailableReport => ({ name, path, description, method: "GET", + parameters, }); +const challengeStatusParam: ReportParameter = { + name: "challengeStatus", + type: "enum[]", + description: "Filter by challenge status", + location: "query", + options: Object.values(ChallengeStatus), +}; + +const billingAccountIdsParam: ReportParameter = { + name: "billingAccountIds", + type: "string[]", + description: + "List of billing account IDs associated with the payments to retrieve", + location: "query", +}; + +const completionDateFromParam: ReportParameter = { + name: "completionDateFrom", + type: "date", + description: "Filter by challenge completion date (from)", + location: "query", + required: true, +}; + +const completionDateToParam: ReportParameter = { + name: "completionDateTo", + type: "date", + description: "Filter by challenge completion date (to)", + location: "query", +}; + +const challengeDateRangeParams = [ + completionDateFromParam, + completionDateToParam, +]; + +const challengeHistoryFilters = [ + challengeStatusParam, + billingAccountIdsParam, + ...challengeDateRangeParams, +]; + +const submissionLinksFilters = [ + completionDateFromParam, + completionDateToParam, + challengeStatusParam, +]; + +const paymentsStartDateParam: ReportParameter = { + name: "startDate", + type: "date", + description: "Start date for the report query in ISO format", + location: "query", +}; + +const paymentsEndDateParam: ReportParameter = { + name: "endDate", + type: "date", + description: "End date for the report query in ISO format", + location: "query", +}; + +const challengeNameParam: ReportParameter = { + name: "challengeName", + type: "string", + description: "Challenge name to search for", + location: "query", +}; + +const challengeIdsParam: ReportParameter = { + name: "challengeIds", + type: "string[]", + description: "List of challenge IDs", + location: "query", +}; + +const handlesParam: ReportParameter = { + name: "handles", + type: "string[]", + description: "List of user handles", + location: "query", +}; + +const minPaymentParam: ReportParameter = { + name: "minPaymentAmount", + type: "number", + description: "Minimum payment amount for filtering the report", + location: "query", +}; + +const maxPaymentParam: ReportParameter = { + name: "maxPaymentAmount", + type: "number", + description: "Maximum payment amount for filtering the report", + location: "query", +}; + +const paymentsFilters = [ + billingAccountIdsParam, + challengeNameParam, + challengeIdsParam, + paymentsStartDateParam, + paymentsEndDateParam, + handlesParam, + minPaymentParam, + maxPaymentParam, +]; + +const baFeesDateParams: ReportParameter[] = [ + { + name: "startDate", + type: "date", + description: "Start date for the report query in ISO format", + location: "query", + required: true, + }, + { + name: "endDate", + type: "date", + description: "End date for the report query in ISO format", + location: "query", + }, +]; + +const registrantCountriesParam: ReportParameter = { + name: "challengeId", + type: "string", + description: "Challenge ID to retrieve registrant countries for", + location: "query", + required: true, +}; + +const marathonMatchHandleParam: ReportParameter = { + name: "handle", + type: "string", + description: "Marathon Match competitor handle", + location: "path", + required: true, +}; + export const REPORTS_DIRECTORY: ReportsDirectory = { challenges: { label: "Challenges Reports", @@ -37,16 +203,19 @@ export const REPORTS_DIRECTORY: ReportsDirectory = { "Challenge History", "/challenges", "Return the challenge history report", + challengeHistoryFilters, ), report( "Challenge Registrants", "/challenges/registrants", "Return the challenge registrants history report", + challengeHistoryFilters, ), report( "Submission Links", "/challenges/submission-links", "Return the submission links report", + submissionLinksFilters, ), ], }, @@ -54,11 +223,17 @@ export const REPORTS_DIRECTORY: ReportsDirectory = { label: "SFDC Reports", basePath: "/sfdc", reports: [ - report("Payments", "/sfdc/payments", "SFDC Payments report"), + report( + "Payments", + "/sfdc/payments", + "SFDC Payments report", + paymentsFilters, + ), report( "BA Fees", "/sfdc/ba-fees", "Report of BA to fee / member payment", + baFeesDateParams, ), ], }, @@ -66,7 +241,11 @@ export const REPORTS_DIRECTORY: ReportsDirectory = { label: "Statistics", basePath: "/statistics", reports: [ - report("SRM Top Rated", "/statistics/srm/top-rated", "Highest rated SRMs (static)"), + report( + "SRM Top Rated", + "/statistics/srm/top-rated", + "Highest rated SRMs (static)", + ), report( "SRM Country Ratings", "/statistics/srm/country-ratings", @@ -237,11 +416,13 @@ export const REPORTS_DIRECTORY: ReportsDirectory = { "Registrant Countries", "/topcoder/registrant-countries", "Countries of all registrants for the specified challenge", + [registrantCountriesParam], ), report( "Marathon Match Stats", "/topcoder/mm-stats/:handle", "Marathon match performance snapshot for a specific handle", + [marathonMatchHandleParam], ), report( "Total Copilots", diff --git a/src/reports/reports.controller.ts b/src/reports/reports.controller.ts index 5069434..7093fec 100644 --- a/src/reports/reports.controller.ts +++ b/src/reports/reports.controller.ts @@ -3,10 +3,7 @@ import { ApiBearerAuth, ApiOperation, ApiTags } from "@nestjs/swagger"; import { PermissionsGuard } from "src/auth/guards/permissions.guard"; import { Scopes } from "src/auth/decorators/scopes.decorator"; import { Scopes as AppScopes } from "src/app-constants"; -import { - REPORTS_DIRECTORY, - ReportsDirectory, -} from "./report-directory.data"; +import { REPORTS_DIRECTORY, ReportsDirectory } from "./report-directory.data"; @ApiTags("Reports") @Controller() diff --git a/src/reports/sfdc/sfdc-reports.controller.spec.ts b/src/reports/sfdc/sfdc-reports.controller.spec.ts new file mode 100644 index 0000000..7f6fe76 --- /dev/null +++ b/src/reports/sfdc/sfdc-reports.controller.spec.ts @@ -0,0 +1,632 @@ +import "reflect-metadata"; +import { BadRequestException } from "@nestjs/common"; +import { Test, TestingModule } from "@nestjs/testing"; +import { plainToInstance } from "class-transformer"; +import { + BaFeesReportQueryDto, + ChallengesReportQueryDto, + PaymentsReportQueryDto, + TaasJobsReportQueryDto, + TaasMemberVerificationReportQueryDto, + TaasResourceBookingsReportQueryDto, + WesternUnionPaymentsReportQueryDto, +} from "./sfdc-reports.dto"; +import { SfdcReportsController } from "./sfdc-reports.controller"; +import { SfdcReportsService } from "./sfdc-reports.service"; +import { + mockChallengeData, + mockChallengeQueryDto, + mockBaFeesData, + mockBaFeesQueryDto, + mockPaymentData, + mockPaymentQueryDto, + mockTaasJobsData, + mockTaasJobsQueryDto, + mockTaasMemberVerificationData, + mockTaasMemberVerificationQueryDto, + mockTaasResourceBookingsData, + mockTaasResourceBookingsQueryDto, + mockWesternUnionPaymentsData, + mockWesternUnionPaymentsQueryDto, +} from "./test-helpers/mock-data"; + +describe("SfdcReportsController", () => { + let controller: SfdcReportsController; + + const mockSfdcReportsService = { + getChallengesReport: jest.fn(), + getBaFeesReport: jest.fn(), + getPaymentsReport: jest.fn(), + getTaasJobsReport: jest.fn(), + getTaasResourceBookingsReport: jest.fn(), + getTaasMemberVerificationReport: jest.fn(), + getWesternUnionPaymentsReport: jest.fn(), + }; + + beforeEach(async () => { + mockSfdcReportsService.getChallengesReport.mockReset(); + mockSfdcReportsService.getBaFeesReport.mockReset(); + mockSfdcReportsService.getPaymentsReport.mockReset(); + mockSfdcReportsService.getTaasJobsReport.mockReset(); + mockSfdcReportsService.getTaasResourceBookingsReport.mockReset(); + mockSfdcReportsService.getTaasMemberVerificationReport.mockReset(); + mockSfdcReportsService.getWesternUnionPaymentsReport.mockReset(); + + const moduleRef: TestingModule = await Test.createTestingModule({ + controllers: [SfdcReportsController], + providers: [ + { + provide: SfdcReportsService, + useValue: mockSfdcReportsService, + }, + ], + }).compile(); + + controller = moduleRef.get(SfdcReportsController); + }); + + it("compiles the controller", () => { + expect(controller).toBeDefined(); + }); + + it("returns the challenges report on success", async () => { + mockSfdcReportsService.getChallengesReport.mockResolvedValue( + mockChallengeData, + ); + + const result = await controller.getChallengesReport( + mockChallengeQueryDto.billingAccount, + ); + + expect(mockSfdcReportsService.getChallengesReport).toHaveBeenCalledWith( + mockChallengeQueryDto.billingAccount, + ); + expect(result).toEqual(mockChallengeData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getChallengesReport.mockResolvedValue([]); + + const result = await controller.getChallengesReport( + mockChallengeQueryDto.billingAccount, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getChallengesReport.mockRejectedValue( + new BadRequestException("bad filters"), + ); + + await expect( + controller.getChallengesReport(mockChallengeQueryDto.billingAccount), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single query params into arrays before passing to the service", async () => { + mockSfdcReportsService.getChallengesReport.mockResolvedValue([]); + + const dto = plainToInstance(ChallengesReportQueryDto, { + billingAccountIds: "80001012", + challengeIds: "e74c3e37-73c9-474e-a838-a38dd4738906", + handles: "user_01", + challengeStatus: "COMPLETED", + }); + + await controller.getChallengesReport(dto); + + expect(mockSfdcReportsService.getChallengesReport).toHaveBeenCalledWith( + expect.objectContaining({ + billingAccountIds: ["80001012"], + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + handles: ["user_01"], + challengeStatus: ["COMPLETED"], + }), + ); + }); + + describe("getPaymentsReport", () => { + it("returns the payments report on success", async () => { + mockSfdcReportsService.getPaymentsReport.mockResolvedValue( + mockPaymentData, + ); + + const result = await controller.getPaymentsReport( + mockPaymentQueryDto.billingAccount, + ); + + expect(mockSfdcReportsService.getPaymentsReport).toHaveBeenCalledWith( + mockPaymentQueryDto.billingAccount, + ); + expect(result).toEqual(mockPaymentData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getPaymentsReport.mockResolvedValue([]); + + const result = await controller.getPaymentsReport( + mockPaymentQueryDto.billingAccount, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getPaymentsReport.mockRejectedValue( + new BadRequestException("invalid filters"), + ); + + await expect( + controller.getPaymentsReport(mockPaymentQueryDto.billingAccount), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single query params into arrays before passing to the service", async () => { + mockSfdcReportsService.getPaymentsReport.mockResolvedValue([]); + + const dto = plainToInstance(PaymentsReportQueryDto, { + billingAccountIds: "80001012", + challengeIds: "e74c3e37-73c9-474e-a838-a38dd4738906", + handles: "user_01", + challengeStatus: "COMPLETED", + }); + + await controller.getPaymentsReport(dto); + + expect(mockSfdcReportsService.getPaymentsReport).toHaveBeenCalledWith( + expect.objectContaining({ + billingAccountIds: ["80001012"], + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + handles: ["user_01"], + challengeStatus: ["COMPLETED"], + }), + ); + }); + + it("passes all payment filters to the service", async () => { + mockSfdcReportsService.getPaymentsReport.mockResolvedValue([]); + + await controller.getPaymentsReport(mockPaymentQueryDto.full); + + expect(mockSfdcReportsService.getPaymentsReport).toHaveBeenCalledWith( + mockPaymentQueryDto.full, + ); + }); + + it("handles billing account exclusions", async () => { + mockSfdcReportsService.getPaymentsReport.mockResolvedValue([]); + + await controller.getPaymentsReport(mockPaymentQueryDto.withExclusions); + + expect(mockSfdcReportsService.getPaymentsReport).toHaveBeenCalledWith( + mockPaymentQueryDto.withExclusions, + ); + }); + }); + + describe("getTaasJobsReport", () => { + it("returns the TaaS jobs report on success", async () => { + mockSfdcReportsService.getTaasJobsReport.mockResolvedValue( + mockTaasJobsData, + ); + + const result = await controller.getTaasJobsReport( + mockTaasJobsQueryDto.byJobIds, + ); + + expect(mockSfdcReportsService.getTaasJobsReport).toHaveBeenCalledWith( + mockTaasJobsQueryDto.byJobIds, + ); + expect(result).toEqual(mockTaasJobsData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getTaasJobsReport.mockResolvedValue([]); + + const result = await controller.getTaasJobsReport( + mockTaasJobsQueryDto.byJobIds, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getTaasJobsReport.mockRejectedValue( + new BadRequestException("invalid filters"), + ); + + await expect( + controller.getTaasJobsReport(mockTaasJobsQueryDto.byJobIds), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single query params into arrays before passing to the service", async () => { + mockSfdcReportsService.getTaasJobsReport.mockResolvedValue([]); + + const dto = plainToInstance(TaasJobsReportQueryDto, { + jobIds: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + projectIds: "12345", + status: "open", + resourceType: "developer", + skills: "React", + }); + + await controller.getTaasJobsReport(dto); + + expect(mockSfdcReportsService.getTaasJobsReport).toHaveBeenCalledWith( + expect.objectContaining({ + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + projectIds: [12345], + status: ["open"], + resourceType: ["developer"], + skills: ["React"], + }), + ); + }); + + it("passes all job filters to the service", async () => { + mockSfdcReportsService.getTaasJobsReport.mockResolvedValue([]); + + await controller.getTaasJobsReport(mockTaasJobsQueryDto.full); + + expect(mockSfdcReportsService.getTaasJobsReport).toHaveBeenCalledWith( + mockTaasJobsQueryDto.full, + ); + }); + }); + + describe("getTaasResourceBookingsReport", () => { + it("returns the TaaS resource bookings report on success", async () => { + mockSfdcReportsService.getTaasResourceBookingsReport.mockResolvedValue( + mockTaasResourceBookingsData, + ); + + const result = await controller.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ); + + expect( + mockSfdcReportsService.getTaasResourceBookingsReport, + ).toHaveBeenCalledWith( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ); + expect(result).toEqual(mockTaasResourceBookingsData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getTaasResourceBookingsReport.mockResolvedValue( + [], + ); + + const result = await controller.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getTaasResourceBookingsReport.mockRejectedValue( + new BadRequestException("invalid filters"), + ); + + await expect( + controller.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single query params into arrays before passing to the service", async () => { + mockSfdcReportsService.getTaasResourceBookingsReport.mockResolvedValue( + [], + ); + + const dto = plainToInstance(TaasResourceBookingsReportQueryDto, { + resourceBookingIds: "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + jobIds: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + projectIds: "12345", + userIds: "100001", + handles: "Dev_User", + status: "placed", + billingAccountIds: "80001012", + }); + + await controller.getTaasResourceBookingsReport(dto); + + expect( + mockSfdcReportsService.getTaasResourceBookingsReport, + ).toHaveBeenCalledWith( + expect.objectContaining({ + resourceBookingIds: ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + projectIds: [12345], + userIds: ["100001"], + handles: ["Dev_User"], + status: ["placed"], + billingAccountIds: ["80001012"], + }), + ); + }); + + it("passes all resource booking filters to the service", async () => { + mockSfdcReportsService.getTaasResourceBookingsReport.mockResolvedValue( + [], + ); + + await controller.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.full, + ); + + expect( + mockSfdcReportsService.getTaasResourceBookingsReport, + ).toHaveBeenCalledWith(mockTaasResourceBookingsQueryDto.full); + }); + }); + + describe("getTaasMemberVerificationReport", () => { + it("returns the member verification report on success", async () => { + mockSfdcReportsService.getTaasMemberVerificationReport.mockResolvedValue( + mockTaasMemberVerificationData, + ); + + const result = await controller.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + + expect( + mockSfdcReportsService.getTaasMemberVerificationReport, + ).toHaveBeenCalledWith( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + expect(result).toEqual(mockTaasMemberVerificationData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getTaasMemberVerificationReport.mockResolvedValue( + [], + ); + + const result = await controller.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getTaasMemberVerificationReport.mockRejectedValue( + new BadRequestException("invalid handles"), + ); + + await expect( + controller.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single handle into array before passing to the service", async () => { + mockSfdcReportsService.getTaasMemberVerificationReport.mockResolvedValue( + [], + ); + + const dto = plainToInstance(TaasMemberVerificationReportQueryDto, { + handles: "user1", + }); + + await controller.getTaasMemberVerificationReport(dto); + + expect( + mockSfdcReportsService.getTaasMemberVerificationReport, + ).toHaveBeenCalledWith( + expect.objectContaining({ + handles: ["user1"], + }), + ); + }); + + it("passes multiple handles to the service", async () => { + mockSfdcReportsService.getTaasMemberVerificationReport.mockResolvedValue( + [], + ); + + await controller.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + + expect( + mockSfdcReportsService.getTaasMemberVerificationReport, + ).toHaveBeenCalledWith( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + }); + }); + + describe("getWesternUnionPaymentsReport", () => { + it("returns the Western Union payments report on success", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockResolvedValue( + mockWesternUnionPaymentsData, + ); + + const result = await controller.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ); + + expect( + mockSfdcReportsService.getWesternUnionPaymentsReport, + ).toHaveBeenCalledWith(mockWesternUnionPaymentsQueryDto.full); + expect(result).toEqual(mockWesternUnionPaymentsData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockResolvedValue( + [], + ); + + const result = await controller.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockRejectedValue( + new BadRequestException("invalid filters"), + ); + + await expect( + controller.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms a single handle into an array before passing to the service", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockResolvedValue( + [], + ); + + const dto = plainToInstance(WesternUnionPaymentsReportQueryDto, { + handles: "winner_one", + }); + + await controller.getWesternUnionPaymentsReport(dto); + + expect( + mockSfdcReportsService.getWesternUnionPaymentsReport, + ).toHaveBeenCalledWith( + expect.objectContaining({ + handles: ["winner_one"], + }), + ); + }); + + it("passes all Western Union filters to the service", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockResolvedValue( + [], + ); + + await controller.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ); + + expect( + mockSfdcReportsService.getWesternUnionPaymentsReport, + ).toHaveBeenCalledWith(mockWesternUnionPaymentsQueryDto.full); + }); + + it("handles default payment status and method when not provided", async () => { + mockSfdcReportsService.getWesternUnionPaymentsReport.mockResolvedValue( + [], + ); + + const dto = plainToInstance(WesternUnionPaymentsReportQueryDto, {}); + + await controller.getWesternUnionPaymentsReport(dto); + + const [callArgs] = + mockSfdcReportsService.getWesternUnionPaymentsReport.mock.calls[0]; + + expect(callArgs.paymentStatus ?? "Entered into payment system").toBe( + "Entered into payment system", + ); + expect(callArgs.paymentMethod ?? "Western Union").toBe("Western Union"); + }); + }); + + describe("getBaFeesReport", () => { + it("returns the BA fees report on success", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue(mockBaFeesData); + + const result = await controller.getBaFeesReport( + mockBaFeesQueryDto.byBillingAccount, + ); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + mockBaFeesQueryDto.byBillingAccount, + ); + expect(result).toEqual(mockBaFeesData); + }); + + it("returns an empty array when no results are found", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + const result = await controller.getBaFeesReport( + mockBaFeesQueryDto.byBillingAccount, + ); + + expect(result).toEqual([]); + }); + + it("propagates errors from the service", async () => { + mockSfdcReportsService.getBaFeesReport.mockRejectedValue( + new BadRequestException("invalid filters"), + ); + + await expect( + controller.getBaFeesReport(mockBaFeesQueryDto.byBillingAccount), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("transforms single billingAccountId string into array before passing to the service", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + const dto = plainToInstance(BaFeesReportQueryDto, { + billingAccountIds: "80001012", + }); + + await controller.getBaFeesReport(dto); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + expect.objectContaining({ + billingAccountIds: ["80001012"], + }), + ); + }); + + it("passes all BA fees filters to the service", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + await controller.getBaFeesReport(mockBaFeesQueryDto.full); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + mockBaFeesQueryDto.full, + ); + }); + + it("handles billing account exclusions", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + await controller.getBaFeesReport(mockBaFeesQueryDto.withExclusions); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + mockBaFeesQueryDto.withExclusions, + ); + }); + + it("handles monthly grouping mode", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + await controller.getBaFeesReport(mockBaFeesQueryDto.monthlyGrouping); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + mockBaFeesQueryDto.monthlyGrouping, + ); + }); + + it("defaults to total grouping when groupBy is omitted", async () => { + mockSfdcReportsService.getBaFeesReport.mockResolvedValue([]); + + await controller.getBaFeesReport(mockBaFeesQueryDto.byBillingAccount); + + expect(mockSfdcReportsService.getBaFeesReport).toHaveBeenCalledWith( + expect.objectContaining({ + groupBy: undefined, + }), + ); + }); + }); +}); diff --git a/src/reports/sfdc/sfdc-reports.controller.ts b/src/reports/sfdc/sfdc-reports.controller.ts index 1acbc9c..4884f88 100644 --- a/src/reports/sfdc/sfdc-reports.controller.ts +++ b/src/reports/sfdc/sfdc-reports.controller.ts @@ -15,8 +15,18 @@ import { SfdcReportsService } from "./sfdc-reports.service"; import { BaFeesReportQueryDto, BaFeesReportResponse, + ChallengesReportQueryDto, + ChallengesReportResponse, PaymentsReportQueryDto, PaymentsReportResponse, + TaasJobsReportQueryDto, + TaasJobsReportResponse, + TaasMemberVerificationReportQueryDto, + TaasMemberVerificationReportResponse, + TaasResourceBookingsReportQueryDto, + TaasResourceBookingsReportResponse, + WesternUnionPaymentsReportQueryDto, + WesternUnionPaymentsReportResponse, } from "./sfdc-reports.dto"; import { ResponseDto } from "src/dto/api-response.dto"; @@ -25,6 +35,25 @@ import { ResponseDto } from "src/dto/api-response.dto"; export class SfdcReportsController { constructor(private readonly reportsService: SfdcReportsService) {} + @Get("/challenges") + @UseGuards(PermissionsGuard) + @Scopes(AppScopes.AllReports, AppScopes.SFDC.ChallengesReport) + @ApiBearerAuth() + @ApiOperation({ + summary: "SFDC Challenges report", + description: + "Retrieve challenge data with associated costs, payments, and member information for Salesforce integration", + }) + @ApiResponse({ + status: 200, + description: "Challenges report retrieved successfully", + type: ResponseDto, + }) + async getChallengesReport(@Query() query: ChallengesReportQueryDto) { + const report = await this.reportsService.getChallengesReport(query); + return report; + } + @Get("/payments") @UseGuards(PermissionsGuard) @Scopes(AppScopes.AllReports, AppScopes.SFDC.PaymentsReport) @@ -43,13 +72,99 @@ export class SfdcReportsController { return report; } + @Get("/taas/jobs") + @UseGuards(PermissionsGuard) + @Scopes(AppScopes.AllReports, AppScopes.SFDC.TaasJobs) + @ApiBearerAuth() + @ApiOperation({ + summary: "SFDC TaaS Jobs report", + description: + "Retrieve TaaS job listings with project, skill, and status filters for Salesforce integration", + }) + @ApiResponse({ + status: 200, + description: "TaaS jobs report retrieved successfully", + type: ResponseDto, + }) + async getTaasJobsReport(@Query() query: TaasJobsReportQueryDto) { + const report = await this.reportsService.getTaasJobsReport(query); + return report; + } + + @Get("/taas/resource-bookings") + @UseGuards(PermissionsGuard) + @Scopes(AppScopes.AllReports, AppScopes.SFDC.TaasResourceBookings) + @ApiBearerAuth() + @ApiOperation({ + summary: "SFDC TaaS Resource Bookings report", + description: + "Retrieve TaaS resource booking assignments with job, user, and date filters for Salesforce integration", + }) + @ApiResponse({ + status: 200, + description: "TaaS resource bookings report retrieved successfully", + type: ResponseDto, + }) + async getTaasResourceBookingsReport( + @Query() query: TaasResourceBookingsReportQueryDto, + ) { + const report = + await this.reportsService.getTaasResourceBookingsReport(query); + return report; + } + + @Get("/taas/member-verification") + @UseGuards(PermissionsGuard) + @Scopes(AppScopes.AllReports, AppScopes.SFDC.TaasMemberVerification) + @ApiBearerAuth() + @ApiOperation({ + summary: "SFDC TaaS Member Verification report", + description: + "Retrieve member verification status by handles for TaaS resource validation in Salesforce", + }) + @ApiResponse({ + status: 200, + description: "Member verification report retrieved successfully", + type: ResponseDto, + }) + async getTaasMemberVerificationReport( + @Query() query: TaasMemberVerificationReportQueryDto, + ) { + const report = + await this.reportsService.getTaasMemberVerificationReport(query); + return report; + } + + @Get("/taas/western-union-payments") + @UseGuards(PermissionsGuard) + @Scopes(AppScopes.AllReports, AppScopes.SFDC.WesternUnionPayments) + @ApiBearerAuth() + @ApiOperation({ + summary: "SFDC Western Union Payments report", + description: + "Retrieve Western Union payment records for remittance processing in Salesforce", + }) + @ApiResponse({ + status: 200, + description: "Western Union payments report retrieved successfully", + type: ResponseDto, + }) + async getWesternUnionPaymentsReport( + @Query() query: WesternUnionPaymentsReportQueryDto, + ) { + const report = + await this.reportsService.getWesternUnionPaymentsReport(query); + return report; + } + @Get("/ba-fees") @UseGuards(PermissionsGuard) @Scopes(AppScopes.AllReports, AppScopes.SFDC.BA) @ApiBearerAuth() @ApiOperation({ - summary: "Report of BA to fee / member payment", - description: "", + summary: "BA fees and member payments with optional monthly grouping", + description: + "Aggregates finance.payment challenge fees and member payments per billing account, returning totals plus the latest payment status. Supports billingAccountIds with !-prefixed exclusions (for example to omit Topgear) and optional start/end dates.", }) @ApiResponse({ status: 200, diff --git a/src/reports/sfdc/sfdc-reports.dto.spec.ts b/src/reports/sfdc/sfdc-reports.dto.spec.ts new file mode 100644 index 0000000..af70548 --- /dev/null +++ b/src/reports/sfdc/sfdc-reports.dto.spec.ts @@ -0,0 +1,975 @@ +import "reflect-metadata"; +import { plainToInstance } from "class-transformer"; +import { validate } from "class-validator"; + +import { + BaFeesReportQueryDto, + ChallengesFilterMode, + ChallengesReportQueryDto, + PaymentsReportQueryDto, + TaasJobsReportQueryDto, + TaasMemberVerificationReportQueryDto, + TaasResourceBookingsReportQueryDto, + WesternUnionPaymentsReportQueryDto, +} from "./sfdc-reports.dto"; + +const validateDto = async (input: Partial) => { + const dto = plainToInstance(ChallengesReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validatePaymentDto = async (input: Partial) => { + const dto = plainToInstance(PaymentsReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validateTaasJobsDto = async (input: Partial) => { + const dto = plainToInstance(TaasJobsReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validateTaasResourceBookingsDto = async ( + input: Partial, +) => { + const dto = plainToInstance(TaasResourceBookingsReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validateTaasMemberVerificationDto = async ( + input: Partial, +) => { + const dto = plainToInstance(TaasMemberVerificationReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validateWesternUnionPaymentsDto = async ( + input: Partial, +) => { + const dto = plainToInstance(WesternUnionPaymentsReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +const validateBaFeesDto = async (input: Partial) => { + const dto = plainToInstance(BaFeesReportQueryDto, input); + const errors = await validate(dto); + return { dto, errors }; +}; + +describe("ChallengesReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validateDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validateDto({ + billingAccountIds: ["80001012", "!90000000"], + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + filterMode: ChallengesFilterMode.BILLING_ACCOUNT, + challengeName: "Task Payment for member", + challengeStatus: ["COMPLETED", "ACTIVE"], + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-03-01T00:00:00.000Z", + isTask: true, + handles: ["user_01", "user_02"], + minAmount: 50, + maxAmount: 1000, + }); + expect(errors).toHaveLength(0); + }); + + it("validates billingAccountIds as strings", async () => { + const { errors } = await validateDto({ + billingAccountIds: ["80001012", "80001013"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms a single billingAccountId string into an array", async () => { + const { dto, errors } = await validateDto({ + // @ts-expect-error intentional single value for transform check + billingAccountIds: "80001012", + }); + expect(errors).toHaveLength(0); + expect(dto.billingAccountIds).toEqual(["80001012"]); + }); + + it("rejects empty billingAccountIds entries", async () => { + const { errors } = await validateDto({ billingAccountIds: [""] }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("rejects non-string billingAccountIds entries", async () => { + const { errors } = await validateDto({ + billingAccountIds: [123 as unknown as string], + }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("accepts valid challengeIds", async () => { + const { errors } = await validateDto({ + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty challengeIds entries", async () => { + const { errors } = await validateDto({ challengeIds: [""] }); + expect(errors.some((err) => err.property === "challengeIds")).toBe(true); + }); + + it.each([ + [ChallengesFilterMode.BILLING_ACCOUNT], + [ChallengesFilterMode.CHALLENGE], + ])("accepts filterMode %s", async (filterMode) => { + const { errors } = await validateDto({ filterMode }); + expect(errors).toHaveLength(0); + }); + + it("rejects an invalid filterMode value", async () => { + const { errors } = await validateDto({ filterMode: "invalid" as any }); + expect(errors.some((err) => err.property === "filterMode")).toBe(true); + }); + + it("accepts a non-empty challengeName", async () => { + const { errors } = await validateDto({ challengeName: "Sample" }); + expect(errors).toHaveLength(0); + }); + + it("rejects an empty challengeName", async () => { + const { errors } = await validateDto({ challengeName: "" }); + expect(errors.some((err) => err.property === "challengeName")).toBe(true); + }); + + it("accepts challengeStatus values", async () => { + const { errors } = await validateDto({ + challengeStatus: ["COMPLETED", "ACTIVE"], + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty challengeStatus entries", async () => { + const { errors } = await validateDto({ challengeStatus: [""] }); + expect(errors.some((err) => err.property === "challengeStatus")).toBe(true); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validateDto({ + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-01-31T23:59:59.000Z", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validateDto({ startDate: "not-a-date" as any }); + expect(errors.some((err) => err.property === "startDate")).toBe(true); + }); + + it("accepts boolean isTask values", async () => { + const { errors } = await validateDto({ isTask: false }); + expect(errors).toHaveLength(0); + }); + + it("accepts string isTask values that convert to boolean", async () => { + const { dto, errors } = await validateDto({ isTask: "true" as any }); + expect(errors).toHaveLength(0); + expect(dto.isTask).toBe(true); + }); + + it("rejects non-boolean isTask values when not transformable", async () => { + const dto = new ChallengesReportQueryDto(); + (dto as any).isTask = "not-boolean"; + + const errors = await validate(dto); + expect(errors.some((err) => err.property === "isTask")).toBe(true); + }); + + it("rejects handles with empty entries", async () => { + const { errors } = await validateDto({ handles: [""] }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("accepts numeric amounts", async () => { + const { errors } = await validateDto({ minAmount: 100, maxAmount: 1000 }); + expect(errors).toHaveLength(0); + }); + + it("transforms string amounts into numbers", async () => { + const { dto, errors } = await validateDto({ minAmount: "100" as any }); + expect(errors).toHaveLength(0); + expect(dto.minAmount).toBe(100); + }); + + it("rejects NaN amounts", async () => { + const { errors } = await validateDto({ minAmount: NaN }); + expect(errors.some((err) => err.property === "minAmount")).toBe(true); + }); + + it("rejects infinite amounts", async () => { + const { errors } = await validateDto({ maxAmount: Infinity }); + expect(errors.some((err) => err.property === "maxAmount")).toBe(true); + }); +}); + +describe("PaymentsReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validatePaymentDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validatePaymentDto({ + billingAccountIds: ["80001012", "!90000000"], + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + handles: ["user_01", "user_02"], + challengeName: "Task Payment for member", + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-03-01T00:00:00.000Z", + minPaymentAmount: 100, + maxPaymentAmount: 1000, + challengeStatus: ["COMPLETED", "ACTIVE"], + }); + expect(errors).toHaveLength(0); + }); + + it("validates billingAccountIds as strings", async () => { + const { errors } = await validatePaymentDto({ + billingAccountIds: ["80001012", "80001013"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms a single billingAccountId string into an array", async () => { + const { dto, errors } = await validatePaymentDto({ + // @ts-expect-error intentional single value for transform check + billingAccountIds: "80001012", + }); + expect(errors).toHaveLength(0); + expect(dto.billingAccountIds).toEqual(["80001012"]); + }); + + it("rejects empty billingAccountIds entries", async () => { + const { errors } = await validatePaymentDto({ billingAccountIds: [""] }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("rejects non-string billingAccountIds entries", async () => { + const { errors } = await validatePaymentDto({ + billingAccountIds: [123 as unknown as string], + }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("accepts valid challengeIds", async () => { + const { errors } = await validatePaymentDto({ + challengeIds: ["uuid1", "uuid2"], + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty challengeIds entries", async () => { + const { errors } = await validatePaymentDto({ challengeIds: [""] }); + expect(errors.some((err) => err.property === "challengeIds")).toBe(true); + }); + + it("transforms single challengeId into array", async () => { + const { dto, errors } = await validatePaymentDto({ + // @ts-expect-error intentional single value for transform check + challengeIds: "uuid1", + }); + expect(errors).toHaveLength(0); + expect(dto.challengeIds).toEqual(["uuid1"]); + }); + + it("accepts valid handles", async () => { + const { errors } = await validatePaymentDto({ + handles: ["user1", "user2"], + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty handles entries", async () => { + const { errors } = await validatePaymentDto({ handles: [""] }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("accepts non-empty challengeName", async () => { + const { errors } = await validatePaymentDto({ + challengeName: "Task Payment", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty challengeName", async () => { + const { errors } = await validatePaymentDto({ challengeName: "" }); + expect(errors.some((err) => err.property === "challengeName")).toBe(true); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validatePaymentDto({ + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-01-31T23:59:59.000Z", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validatePaymentDto({ + startDate: "not-a-date", + }); + expect(errors.some((err) => err.property === "startDate")).toBe(true); + }); + + it("accepts numeric payment amounts", async () => { + const { errors } = await validatePaymentDto({ + minPaymentAmount: 100, + maxPaymentAmount: 1000, + }); + expect(errors).toHaveLength(0); + }); + + it("transforms string amounts into numbers", async () => { + const { dto, errors } = await validatePaymentDto({ + // @ts-expect-error intentional single value for transform check + minPaymentAmount: "100", + }); + expect(errors).toHaveLength(0); + expect(dto.minPaymentAmount).toBe(100); + }); + + it("rejects NaN amounts", async () => { + const { errors } = await validatePaymentDto({ minPaymentAmount: NaN }); + expect(errors.some((err) => err.property === "minPaymentAmount")).toBe( + true, + ); + }); + + it("rejects infinite amounts", async () => { + const { errors } = await validatePaymentDto({ + maxPaymentAmount: Infinity, + }); + expect(errors.some((err) => err.property === "maxPaymentAmount")).toBe( + true, + ); + }); + + it("accepts challengeStatus values", async () => { + const { errors } = await validatePaymentDto({ + challengeStatus: ["COMPLETED", "ACTIVE"], + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty challengeStatus entries", async () => { + const { errors } = await validatePaymentDto({ challengeStatus: [""] }); + expect(errors.some((err) => err.property === "challengeStatus")).toBe(true); + }); + + it("transforms single challengeStatus into array", async () => { + const { dto, errors } = await validatePaymentDto({ + // @ts-expect-error intentional single value for transform check + challengeStatus: "COMPLETED", + }); + expect(errors).toHaveLength(0); + expect(dto.challengeStatus).toEqual(["COMPLETED"]); + }); +}); + +describe("TaasJobsReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validateTaasJobsDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validateTaasJobsDto({ + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + projectIds: [12345, 67890], + status: ["open", "assigned"], + resourceType: ["developer"], + skills: ["React", "TypeScript"], + startDate: "2023-04-01", + endDate: "2023-05-31", + minPositions: 1, + maxPositions: 3, + }); + expect(errors).toHaveLength(0); + }); + + it("validates jobIds as UUID strings", async () => { + const { errors } = await validateTaasJobsDto({ + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single jobId string into array", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + jobIds: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + }); + expect(errors).toHaveLength(0); + expect(dto.jobIds).toEqual(["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"]); + }); + + it("rejects empty jobIds entries", async () => { + const { errors } = await validateTaasJobsDto({ jobIds: [""] }); + expect(errors.some((err) => err.property === "jobIds")).toBe(true); + }); + + it("validates projectIds as numbers", async () => { + const { errors } = await validateTaasJobsDto({ + projectIds: [12345, 67890], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single projectId string into number array", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + projectIds: "12345", + }); + expect(errors).toHaveLength(0); + expect(dto.projectIds).toEqual([12345]); + }); + + it("rejects non-numeric projectIds", async () => { + const { errors } = await validateTaasJobsDto({ + projectIds: ["abc"] as any, + }); + expect(errors.some((err) => err.property === "projectIds")).toBe(true); + }); + + it("validates status as strings", async () => { + const { errors } = await validateTaasJobsDto({ + status: ["open", "assigned"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single status into array", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + status: "open", + }); + expect(errors).toHaveLength(0); + expect(dto.status).toEqual(["open"]); + }); + + it("rejects empty status entries", async () => { + const { errors } = await validateTaasJobsDto({ status: [""] }); + expect(errors.some((err) => err.property === "status")).toBe(true); + }); + + it("validates resourceType as strings", async () => { + const { errors } = await validateTaasJobsDto({ + resourceType: ["designer", "developer"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single resourceType into array", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + resourceType: "developer", + }); + expect(errors).toHaveLength(0); + expect(dto.resourceType).toEqual(["developer"]); + }); + + it("validates skills as strings", async () => { + const { errors } = await validateTaasJobsDto({ + skills: ["React", "Node.js"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single skill into array", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + skills: "React", + }); + expect(errors).toHaveLength(0); + expect(dto.skills).toEqual(["React"]); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validateTaasJobsDto({ + startDate: "2023-04-01", + endDate: "2023-05-31", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validateTaasJobsDto({ + startDate: "invalid-date" as any, + }); + expect(errors.some((err) => err.property === "startDate")).toBe(true); + }); + + it("accepts numeric minPositions and maxPositions", async () => { + const { errors } = await validateTaasJobsDto({ + minPositions: 1, + maxPositions: 3, + }); + expect(errors).toHaveLength(0); + }); + + it("transforms string positions into numbers", async () => { + const { dto, errors } = await validateTaasJobsDto({ + // @ts-expect-error intentional single value for transform check + minPositions: "1", + }); + expect(errors).toHaveLength(0); + expect(dto.minPositions).toBe(1); + }); + + it("rejects NaN positions", async () => { + const { errors } = await validateTaasJobsDto({ minPositions: NaN }); + expect(errors.some((err) => err.property === "minPositions")).toBe(true); + }); + + it("rejects infinite positions", async () => { + const { errors } = await validateTaasJobsDto({ maxPositions: Infinity }); + expect(errors.some((err) => err.property === "maxPositions")).toBe(true); + }); +}); + +describe("TaasResourceBookingsReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validateTaasResourceBookingsDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + resourceBookingIds: ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + projectIds: [12345], + userIds: ["100001"], + handles: ["dev_user"], + status: ["placed", "active"], + billingAccountIds: ["80001012"], + startDate: "2023-04-01", + endDate: "2023-06-30", + minCustomerRate: 90, + maxCustomerRate: 2300, + }); + expect(errors).toHaveLength(0); + }); + + it("validates resourceBookingIds as UUID strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + resourceBookingIds: ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single resourceBookingId into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + resourceBookingIds: "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + }); + expect(errors).toHaveLength(0); + expect(dto.resourceBookingIds).toEqual([ + "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + ]); + }); + + it("rejects empty resourceBookingIds entries", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + resourceBookingIds: [""], + }); + expect(errors.some((err) => err.property === "resourceBookingIds")).toBe( + true, + ); + }); + + it("validates jobIds as UUID strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single jobId into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + jobIds: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + }); + expect(errors).toHaveLength(0); + expect(dto.jobIds).toEqual(["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"]); + }); + + it("validates projectIds as numbers", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + projectIds: [12345, 67890], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single projectId string into number array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + projectIds: "12345", + }); + expect(errors).toHaveLength(0); + expect(dto.projectIds).toEqual([12345]); + }); + + it("validates userIds as strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + userIds: ["100001", "100002"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single userId into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + userIds: "100001", + }); + expect(errors).toHaveLength(0); + expect(dto.userIds).toEqual(["100001"]); + }); + + it("validates handles as strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + handles: ["user1", "user2"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single handle into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + handles: "user1", + }); + expect(errors).toHaveLength(0); + expect(dto.handles).toEqual(["user1"]); + }); + + it("rejects empty handles entries", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + handles: [""], + }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("validates status as strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + status: ["placed", "active"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single status into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + status: "placed", + }); + expect(errors).toHaveLength(0); + expect(dto.status).toEqual(["placed"]); + }); + + it("validates billingAccountIds as strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + billingAccountIds: ["80001012", "90001012"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single billingAccountId into array", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + billingAccountIds: "80001012", + }); + expect(errors).toHaveLength(0); + expect(dto.billingAccountIds).toEqual(["80001012"]); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + startDate: "2023-04-01", + endDate: "2023-06-30", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + endDate: "invalid-date" as any, + }); + expect(errors.some((err) => err.property === "endDate")).toBe(true); + }); + + it("accepts numeric minCustomerRate and maxCustomerRate", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + minCustomerRate: 90, + maxCustomerRate: 2300, + }); + expect(errors).toHaveLength(0); + }); + + it("transforms string rates into numbers", async () => { + const { dto, errors } = await validateTaasResourceBookingsDto({ + // @ts-expect-error intentional single value for transform check + minCustomerRate: "90", + }); + expect(errors).toHaveLength(0); + expect(dto.minCustomerRate).toBe(90); + }); + + it("rejects NaN rates", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + minCustomerRate: NaN, + }); + expect(errors.some((err) => err.property === "minCustomerRate")).toBe(true); + }); + + it("rejects infinite rates", async () => { + const { errors } = await validateTaasResourceBookingsDto({ + maxCustomerRate: Infinity, + }); + expect(errors.some((err) => err.property === "maxCustomerRate")).toBe(true); + }); +}); + +describe("TaasMemberVerificationReportQueryDto validation", () => { + it("accepts a DTO with single handle", async () => { + const { errors } = await validateTaasMemberVerificationDto({ + handles: ["user1"], + }); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with multiple handles", async () => { + const { errors } = await validateTaasMemberVerificationDto({ + handles: ["user1", "user2", "user3"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single handle string into array", async () => { + const { dto, errors } = await validateTaasMemberVerificationDto({ + // @ts-expect-error intentional single value for transform check + handles: "user1", + }); + expect(errors).toHaveLength(0); + expect(dto.handles).toEqual(["user1"]); + }); + + it("rejects empty handles array", async () => { + const { errors } = await validateTaasMemberVerificationDto({ handles: [] }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("rejects empty handle entries", async () => { + const { errors } = await validateTaasMemberVerificationDto({ + handles: [""], + }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("rejects non-string handles", async () => { + const { errors } = await validateTaasMemberVerificationDto({ + handles: [123 as any], + }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); + + it("rejects missing handles field", async () => { + const { errors } = await validateTaasMemberVerificationDto({}); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); +}); + +describe("WesternUnionPaymentsReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validateWesternUnionPaymentsDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + paymentStatus: "Paid", + paymentMethod: "Western Union", + startDate: "2023-01-01", + endDate: "2023-03-31", + handles: ["user1", "user2"], + }); + expect(errors).toHaveLength(0); + }); + + it("validates paymentStatus as string", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + paymentStatus: "Paid", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty paymentStatus", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + paymentStatus: "", + }); + expect(errors.some((err) => err.property === "paymentStatus")).toBe(true); + }); + + it("validates paymentMethod as string", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + paymentMethod: "Western Union", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects empty paymentMethod", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + paymentMethod: "", + }); + expect(errors.some((err) => err.property === "paymentMethod")).toBe(true); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + startDate: "2023-01-01", + endDate: "2023-03-31", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + startDate: "invalid-date" as any, + }); + expect(errors.some((err) => err.property === "startDate")).toBe(true); + }); + + it("validates handles as strings", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + handles: ["user1", "user2"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms single handle into array", async () => { + const { dto, errors } = await validateWesternUnionPaymentsDto({ + // @ts-expect-error intentional single value for transform check + handles: "user1", + }); + expect(errors).toHaveLength(0); + expect(dto.handles).toEqual(["user1"]); + }); + + it("rejects empty handles entries", async () => { + const { errors } = await validateWesternUnionPaymentsDto({ + handles: [""], + }); + expect(errors.some((err) => err.property === "handles")).toBe(true); + }); +}); + +describe("BaFeesReportQueryDto validation", () => { + it("accepts a minimal DTO with no filters", async () => { + const { errors } = await validateBaFeesDto({}); + expect(errors).toHaveLength(0); + }); + + it("accepts a DTO with all filters provided", async () => { + const { errors } = await validateBaFeesDto({ + billingAccountIds: ["80001012", "!90000000"], + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-12-31T23:59:59.000Z", + groupBy: "month", + }); + expect(errors).toHaveLength(0); + }); + + it("validates billingAccountIds as strings", async () => { + const { errors } = await validateBaFeesDto({ + billingAccountIds: ["80001012", "90000000"], + }); + expect(errors).toHaveLength(0); + }); + + it("transforms a single billingAccountId string into an array", async () => { + const { dto, errors } = await validateBaFeesDto({ + // @ts-expect-error intentional single value for transform check + billingAccountIds: "80001012", + }); + expect(errors).toHaveLength(0); + expect(dto.billingAccountIds).toEqual(["80001012"]); + }); + + it("rejects empty billingAccountIds entries", async () => { + const { errors } = await validateBaFeesDto({ + billingAccountIds: [""], + }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("rejects non-string billingAccountIds entries", async () => { + const { errors } = await validateBaFeesDto({ + billingAccountIds: [123 as unknown as string], + }); + expect(errors.some((err) => err.property === "billingAccountIds")).toBe( + true, + ); + }); + + it("accepts ISO date strings for startDate and endDate", async () => { + const { errors } = await validateBaFeesDto({ + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-12-31T23:59:59.000Z", + }); + expect(errors).toHaveLength(0); + }); + + it("rejects invalid date strings", async () => { + const { errors } = await validateBaFeesDto({ + startDate: "not-a-date" as any, + }); + expect(errors.some((err) => err.property === "startDate")).toBe(true); + }); + + it.each([["total"], ["month"]])( + "accepts valid groupBy values: %s", + async (groupBy) => { + const { errors } = await validateBaFeesDto({ + groupBy: groupBy as BaFeesReportQueryDto["groupBy"], + }); + expect(errors).toHaveLength(0); + }, + ); + + it("rejects invalid groupBy values", async () => { + const { errors } = await validateBaFeesDto({ + groupBy: "invalid" as any, + }); + expect(errors.some((err) => err.property === "groupBy")).toBe(true); + }); + + it("defaults groupBy to total when omitted", async () => { + const { errors } = await validateBaFeesDto({ + billingAccountIds: ["80001012"], + }); + expect(errors).toHaveLength(0); + }); +}); diff --git a/src/reports/sfdc/sfdc-reports.dto.ts b/src/reports/sfdc/sfdc-reports.dto.ts index 11d46ae..bc1d947 100644 --- a/src/reports/sfdc/sfdc-reports.dto.ts +++ b/src/reports/sfdc/sfdc-reports.dto.ts @@ -1,14 +1,196 @@ import { ApiProperty } from "@nestjs/swagger"; import { Transform } from "class-transformer"; import { + IsArray, + IsIn, IsOptional, IsString, IsNotEmpty, IsNumber, IsDateString, + IsBoolean, + IsEnum, } from "class-validator"; import { transformArray } from "src/common/validation.util"; +export enum ChallengesFilterMode { + BILLING_ACCOUNT = "billingAccount", + CHALLENGE = "challenge", +} + +const transformToNumber = ({ value }: { value: unknown }) => { + if (value === undefined || value === null || value === "") { + return undefined; + } + + if (typeof value === "number") { + return value; + } + + if (typeof value === "string") { + const parsed = parseFloat(value); + + return Number.isNaN(parsed) ? value : parsed; + } + + return value; +}; + +export class ChallengesReportQueryDto { + @ApiProperty({ + required: false, + description: + "List of billing account IDs to use when filterMode is 'billingAccount' (default). Omit this field when filterMode is 'challenge'.", + example: ["80001012"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + billingAccountIds?: string[]; + + @ApiProperty({ + required: false, + description: + "List of challenge IDs to use when filterMode is 'challenge'. This field is required in challenge mode and must not be combined with billingAccountIds.", + example: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + challengeIds?: string[]; + + @ApiProperty({ + required: false, + description: + "Selects whether to filter primarily by billing account IDs or challenge IDs. Use 'challenge' when providing challengeIds (billingAccountIds are rejected in that mode); defaults to 'billingAccount'.", + enum: ChallengesFilterMode, + example: ChallengesFilterMode.BILLING_ACCOUNT, + default: ChallengesFilterMode.BILLING_ACCOUNT, + }) + @IsOptional() + @IsEnum(ChallengesFilterMode) + filterMode?: ChallengesFilterMode; + + @ApiProperty({ + required: false, + description: "Challenge name to search for", + example: "Task Payment for member", + }) + @IsOptional() + @IsString() + @IsNotEmpty() + challengeName?: string; + + @ApiProperty({ + required: false, + description: + "List of challenge statuses using ChallengeStatusEnum values (for example COMPLETED, ACTIVE).", + example: ["COMPLETED", "ACTIVE"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + challengeStatus?: string[]; + + @ApiProperty({ + required: false, + description: + "Start date (inclusive) for filtering challenge completion/end date in ISO 8601 format", + example: "2023-01-01T00:00:00.000Z", + }) + @IsOptional() + @IsDateString() + startDate?: string; + + @ApiProperty({ + required: false, + description: + "End date (inclusive) for filtering challenge completion/end date in ISO 8601 format", + example: "2023-01-31T23:59:59.000Z", + }) + @IsOptional() + @IsDateString() + endDate?: string; + + @ApiProperty({ + required: false, + description: + 'Filter for task challenges using challenges."Challenge"."taskIsTask"', + example: true, + }) + @IsOptional() + @Transform(({ value }) => + value === undefined ? undefined : value === true || value === "true", + ) + @IsBoolean() + isTask?: boolean; + + @ApiProperty({ + required: false, + description: "List of member handles", + example: ["user_01", "user_02"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + handles?: string[]; + + @ApiProperty({ + required: false, + description: "Minimum line item amount for filtering the report", + example: 100, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + minAmount?: number; + + @ApiProperty({ + required: false, + description: "Maximum line item amount for filtering the report", + example: 1000, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + maxAmount?: number; +} + +export class ChallengesReportResponse { + @ApiProperty({ description: "Challenge identifier" }) + challengeId: string; + @ApiProperty({ description: "Challenge name" }) + challengeName: string; + @ApiProperty({ description: "Billing account linked to the challenge" }) + billingAccountId: string; + @ApiProperty({ + description: + 'Challenge status pulled from challenges."Challenge".status (ChallengeStatusEnum code, not Looker status_desc)', + }) + challengeStatus: string; + @ApiProperty({ + description: + 'Challenge completion date returned from challenges."Challenge"."endDate"', + }) + completeDate: string; + paymentDate: string; + @ApiProperty({ + description: + 'Indicates whether the challenge is a task from challenges."Challenge"."taskIsTask"', + }) + isTask: boolean; + challengeFee: number; + memberPayments: number; + lineItemAmount: number; + memberHandle: string; + memberFirstName: string; + memberLastName: string; +} + export class PaymentsReportQueryDto { @ApiProperty({ required: false, @@ -25,7 +207,7 @@ export class PaymentsReportQueryDto { @ApiProperty({ required: false, description: "Challenge name to search for", - example: ["Task Payment for member"], + example: "Task Payment for member", }) @IsOptional() @IsString() @@ -45,21 +227,21 @@ export class PaymentsReportQueryDto { @ApiProperty({ required: false, - description: "Start date for the report query in ISO format", + description: "Start date for the report query in ISO 8601 format", example: "2023-01-01T00:00:00.000Z", }) @IsOptional() @IsDateString() - startDate?: Date; + startDate?: string; @ApiProperty({ required: false, - description: "End date for the report query in ISO format", + description: "End date for the report query in ISO 8601 format", example: "2023-01-31T23:59:59.000Z", }) @IsOptional() @IsDateString() - endDate?: Date; + endDate?: string; @ApiProperty({ required: false, @@ -78,8 +260,8 @@ export class PaymentsReportQueryDto { example: 100, }) @IsOptional() - @IsNumber() - @Transform(({ value }) => parseFloat(value)) + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) minPaymentAmount?: number; @ApiProperty({ @@ -88,15 +270,30 @@ export class PaymentsReportQueryDto { example: 1000, }) @IsOptional() - @IsNumber() - @Transform(({ value }) => parseFloat(value)) + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) maxPaymentAmount?: number; + + @ApiProperty({ + required: false, + description: "List of challenge statuses to filter payments", + example: ["COMPLETED", "ACTIVE"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + challengeStatus?: string[]; } export class PaymentsReportResponse { billingAccountId: string; challengeName: string; challengeId: string; + @ApiProperty({ + description: "Winnings category from finance.winnings.category", + }) + category: string; paymentDate: string; paymentId: string; paymentStatus: string; @@ -107,29 +304,549 @@ export class PaymentsReportResponse { isTask: boolean; challengeFee: number; paymentAmount: number; + @ApiProperty({ + description: "Challenge status from challenges.Challenge.status", + }) + challengeStatus: string; +} + +export class TaasJobsReportQueryDto { + @ApiProperty({ + required: false, + description: "Array of TaaS job UUIDs from taas.jobs.id", + example: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + jobIds?: string[]; + + @ApiProperty({ + required: false, + description: "Array of project IDs from taas.jobs.project_id", + example: [12345, 67890], + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }, { each: true }) + @Transform(({ value }) => + transformArray({ value })?.map((v) => transformToNumber({ value: v })), + ) + projectIds?: number[]; + + @ApiProperty({ + required: false, + description: "Array of job statuses from taas.jobs.status", + example: ["open", "assigned"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + status?: string[]; + + @ApiProperty({ + required: false, + description: "Array of resource types from taas.jobs.resource_type", + example: ["designer", "developer"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + resourceType?: string[]; + + @ApiProperty({ + required: false, + description: + "Array of skill names to match against the taas.jobs.skills JSONB field", + example: ["React", "Node.js"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + skills?: string[]; + + @ApiProperty({ + required: false, + description: "Start date (inclusive) for filtering taas.jobs.start_date", + example: "2023-01-01", + }) + @IsOptional() + @IsDateString() + startDate?: string; + + @ApiProperty({ + required: false, + description: "End date (inclusive) for filtering taas.jobs.start_date", + example: "2023-02-01", + }) + @IsOptional() + @IsDateString() + endDate?: string; + + @ApiProperty({ + required: false, + description: "Minimum number of positions from taas.jobs.num_positions", + example: 1, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + minPositions?: number; + + @ApiProperty({ + required: false, + description: "Maximum number of positions from taas.jobs.num_positions", + example: 5, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + maxPositions?: number; +} + +export class TaasJobsReportResponse { + @ApiProperty({ description: "TaaS job UUID from taas.jobs.id" }) + jobId: string; + @ApiProperty({ description: "Project ID from taas.jobs.project_id" }) + projectId: number; + @ApiProperty({ + description: "External identifier from taas.jobs.external_id", + }) + externalId: string; + @ApiProperty({ description: "Job title from taas.jobs.title" }) + title: string; + @ApiProperty({ description: "Job description from taas.jobs.description" }) + description: string; + @ApiProperty({ description: "Job status from taas.jobs.status" }) + status: string; + @ApiProperty({ description: "Resource type from taas.jobs.resource_type" }) + resourceType: string; + @ApiProperty({ description: "Rate type from taas.jobs.rate_type" }) + rateType: string; + @ApiProperty({ description: "Skills JSONB payload from taas.jobs.skills" }) + skills: any; + @ApiProperty({ + description: "Number of positions from taas.jobs.num_positions", + }) + numPositions: number; + @ApiProperty({ description: "Start date from taas.jobs.start_date" }) + startDate: string; + @ApiProperty({ description: "Duration from taas.jobs.duration" }) + duration: number; + @ApiProperty({ description: "Workload from taas.jobs.workload" }) + workload: string; + @ApiProperty({ description: "Minimum salary from taas.jobs.min_salary" }) + minSalary: number; + @ApiProperty({ description: "Maximum salary from taas.jobs.max_salary" }) + maxSalary: number; + @ApiProperty({ description: "Hours per week from taas.jobs.hours_per_week" }) + hoursPerWeek: number; + @ApiProperty({ description: "Currency code from taas.jobs.currency" }) + currency: string; + @ApiProperty({ + description: "Record creation timestamp from taas.jobs.created_at", + }) + createdAt: string; + @ApiProperty({ + description: "Record update timestamp from taas.jobs.updated_at", + }) + updatedAt: string; +} + +export class TaasResourceBookingsReportQueryDto { + @ApiProperty({ + required: false, + description: + "Array of resource booking UUIDs from taas.resource_bookings.id", + example: ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + resourceBookingIds?: string[]; + + @ApiProperty({ + required: false, + description: "Array of job UUIDs from taas.resource_bookings.job_id", + example: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + jobIds?: string[]; + + @ApiProperty({ + required: false, + description: "Array of project IDs from taas.resource_bookings.project_id", + example: [12345], + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }, { each: true }) + @Transform(({ value }) => + transformArray({ value })?.map((v) => transformToNumber({ value: v })), + ) + projectIds?: number[]; + + @ApiProperty({ + required: false, + description: "Array of user IDs from taas.resource_bookings.user_id", + example: ["123456"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + userIds?: string[]; + + @ApiProperty({ + required: false, + description: + "Array of member handles (case-insensitive) joined via identity.user.handle", + example: ["user_01", "user_02"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + handles?: string[]; + + @ApiProperty({ + required: false, + description: "Array of booking statuses from taas.resource_bookings.status", + example: ["placed", "active"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + status?: string[]; + + @ApiProperty({ + required: false, + description: + "Array of billing account IDs from taas.resource_bookings.billing_account_id", + example: ["80001012"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + billingAccountIds?: string[]; + + @ApiProperty({ + required: false, + description: + "Start date (inclusive) for filtering taas.resource_bookings.start_date", + example: "2023-01-01", + }) + @IsOptional() + @IsDateString() + startDate?: string; + + @ApiProperty({ + required: false, + description: + "End date (inclusive) for filtering taas.resource_bookings.end_date", + example: "2023-02-01", + }) + @IsOptional() + @IsDateString() + endDate?: string; + + @ApiProperty({ + required: false, + description: + "Minimum customer rate from taas.resource_bookings.customer_rate", + example: 50, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + minCustomerRate?: number; + + @ApiProperty({ + required: false, + description: + "Maximum customer rate from taas.resource_bookings.customer_rate", + example: 150, + }) + @IsOptional() + @IsNumber({ allowNaN: false, allowInfinity: false }) + @Transform(transformToNumber) + maxCustomerRate?: number; +} + +export class TaasResourceBookingsReportResponse { + @ApiProperty({ + description: "Resource booking UUID from taas.resource_bookings.id", + }) + resourceBookingId: string; + @ApiProperty({ description: "Job UUID from taas.resource_bookings.job_id" }) + jobId: string; + @ApiProperty({ + description: "Project ID from taas.resource_bookings.project_id", + }) + projectId: number; + @ApiProperty({ description: "User ID from taas.resource_bookings.user_id" }) + userId: string; + @ApiProperty({ description: "Member handle from identity.user.handle" }) + userHandle: string; + @ApiProperty({ description: "First name from identity.user.first_name" }) + firstName: string; + @ApiProperty({ description: "Last name from identity.user.last_name" }) + lastName: string; + @ApiProperty({ + description: "Booking status from taas.resource_bookings.status", + }) + status: string; + @ApiProperty({ + description: "Start date from taas.resource_bookings.start_date", + }) + startDate: string; + @ApiProperty({ description: "End date from taas.resource_bookings.end_date" }) + endDate: string; + @ApiProperty({ + description: "Member rate from taas.resource_bookings.member_rate", + }) + memberRate: number; + @ApiProperty({ + description: "Customer rate from taas.resource_bookings.customer_rate", + }) + customerRate: number; + @ApiProperty({ + description: "Rate type from taas.resource_bookings.rate_type", + }) + rateType: string; + @ApiProperty({ + description: + "Billing account ID from taas.resource_bookings.billing_account_id", + }) + billingAccountId: string; + @ApiProperty({ + description: + "Record creation timestamp from taas.resource_bookings.created_at", + }) + createdAt: string; + @ApiProperty({ + description: + "Record update timestamp from taas.resource_bookings.updated_at", + }) + updatedAt: string; +} + +export class TaasMemberVerificationReportQueryDto { + @ApiProperty({ + required: true, + description: + "List of member handles to check verification status (case-insensitive)", + example: ["user1", "user2"], + }) + @IsNotEmpty() + @IsString({ each: true }) + @Transform(transformArray) + handles: string[]; +} + +export class TaasMemberVerificationReportResponse { + @ApiProperty({ description: "Member handle from identity.user.handle" }) + handle: string; + @ApiProperty({ description: "User ID from identity.user.user_id" }) + userId: string; + @ApiProperty({ + description: + "Verification flag derived from finance.user_identity_verification_associations.verification_status", + }) + verified: boolean; + @ApiProperty({ description: "Derived verification status label" }) + verificationStatus: string; +} + +export class WesternUnionPaymentsReportQueryDto { + @ApiProperty({ + required: false, + description: + "Payment status description filter (Looker-style, default: 'Entered into payment system')", + example: "Entered into payment system", + default: "Entered into payment system", + }) + @IsOptional() + @IsString() + paymentStatus?: string; + + @ApiProperty({ + required: false, + description: + "Payment method filter matched against finance.payment_method name/type (default: 'Western Union')", + example: "Western Union", + default: "Western Union", + }) + @IsOptional() + @IsString() + paymentMethod?: string; + + @ApiProperty({ + required: false, + description: + "Start date for filtering payment created_at in ISO 8601 format", + example: "2023-01-01", + }) + @IsOptional() + @IsDateString() + startDate?: string; + + @ApiProperty({ + required: false, + description: "End date for filtering payment created_at in ISO 8601 format", + example: "2023-01-31", + }) + @IsOptional() + @IsDateString() + endDate?: string; + + @ApiProperty({ + required: false, + description: "Array of member handles to filter payments", + example: ["user1", "user2"], + }) + @IsOptional() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + handles?: string[]; +} + +export class WesternUnionPaymentsReportResponse { + @ApiProperty({ description: "Payment ID from finance.payment.payment_id" }) + paymentId: string; + @ApiProperty({ description: "Member handle from identity.user.handle" }) + handle: string; + @ApiProperty({ + description: "Gross amount from finance.payment.gross_amount", + }) + grossAmount: number; + @ApiProperty({ + description: + "Reference ID from finance.winnings.external_id (challenge reference)", + }) + referenceId: string; + @ApiProperty({ + description: "Payment description from finance.winnings.title/description", + }) + description: string; + @ApiProperty({ + description: + "Payment status description mapped from finance.payment.payment_status", + }) + paymentStatus: string; + @ApiProperty({ description: "Payment date from finance.payment.created_at" }) + paymentDate: string; } export class BaFeesReportQueryDto { @ApiProperty({ required: false, - description: "Start date for the report query in ISO format", + description: + "Array of billing account IDs to include or exclude (prefix with ! to exclude). Use exclusion to drop Topgear data when you want to mirror the Salesforce importTopgearData() behavior (for example !).", + example: ["12345", "!67890"], + }) + @IsOptional() + @IsArray() + @IsString({ each: true }) + @IsNotEmpty({ each: true }) + @Transform(transformArray) + billingAccountIds?: string[]; + + @ApiProperty({ + required: false, + description: + "Start date for the report query in ISO 8601 format (inclusive). If omitted the report uses an open-ended lower bound.", example: "2023-01-01T00:00:00.000Z", }) + @IsOptional() @IsDateString() - startDate?: Date; + startDate?: string; @ApiProperty({ required: false, - description: "End date for the report query in ISO format", + description: "End date for the report query in ISO 8601 format", example: "2023-01-31T23:59:59.000Z", }) @IsOptional() @IsDateString() - endDate?: Date; + endDate?: string; + + @ApiProperty({ + required: false, + description: "Aggregation level for the report", + enum: ["total", "month"], + example: "month", + default: "total", + }) + @IsOptional() + @IsIn(["total", "month"]) + groupBy?: "total" | "month"; } -export interface BaFeesReportResponse { - billing_account: string; - total_fees: string; - total_member_payments: string; +export class BaFeesReportResponse { + @ApiProperty({ + description: + "Billing account identifier returned from finance.payment.billing_account", + example: "80001012", + }) + billingAccountId: string; + + @ApiProperty({ + description: + "Total challenge fees summed from finance.payment.challenge_fee for the filtered billing account", + example: 1200.5, + }) + totalFees: number; + + @ApiProperty({ + description: + "Total member payments summed from finance.payment.total_amount for the filtered billing account", + example: 980.75, + }) + totalMemberPayments: number; + + @ApiProperty({ + description: + "Most recent payment status for the billing account derived from finance.payment.payment_status (values include Entered into payment system, On hold, On hold - admin, Owed, Paid, Cancelled, Failed, Returned, or the raw payment_status code)", + example: "Paid", + }) + currentPaymentStatus: string; + + @ApiProperty({ + required: false, + description: "Month bucket (YYYY-MM) when groupBy is set to month", + example: "2024-01", + }) + month?: string; + + @ApiProperty({ + required: false, + description: + "Number of payments contributing to the bucket when groupBy=month", + example: 42, + }) + paymentCount?: number; + + @ApiProperty({ + required: false, + description: "Earliest payment date in the bucket when groupBy=month", + example: "2024-01-02", + }) + earliestPaymentDate?: string; + + @ApiProperty({ + required: false, + description: "Latest payment date in the bucket when groupBy=month", + example: "2024-01-31", + }) + latestPaymentDate?: string; } diff --git a/src/reports/sfdc/sfdc-reports.module.spec.ts b/src/reports/sfdc/sfdc-reports.module.spec.ts new file mode 100644 index 0000000..7bbcba4 --- /dev/null +++ b/src/reports/sfdc/sfdc-reports.module.spec.ts @@ -0,0 +1,67 @@ +import { Test, TestingModule } from "@nestjs/testing"; +import { SqlLoaderService } from "src/common/sql-loader.service"; +import { DbService } from "../../db/db.service"; +import { SfdcReportsController } from "./sfdc-reports.controller"; +import { SfdcReportsModule } from "./sfdc-reports.module"; +import { SfdcReportsService } from "./sfdc-reports.service"; + +describe("SfdcReportsModule", () => { + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue([]); + mockSqlLoaderService.load.mockReturnValue("SELECT 1"); + + moduleRef = await Test.createTestingModule({ + imports: [SfdcReportsModule], + providers: [{ provide: DbService, useValue: mockDbService }], + }) + .overrideProvider(SqlLoaderService) + .useValue(mockSqlLoaderService) + .compile(); + }); + + it("wires up the controller and service", () => { + expect( + moduleRef.get(SfdcReportsController), + ).toBeInstanceOf(SfdcReportsController); + expect( + moduleRef.get(SfdcReportsService), + ).toBeInstanceOf(SfdcReportsService); + expect(moduleRef.get(SqlLoaderService)).toBe( + mockSqlLoaderService, + ); + }); + + it("injects mocked dependencies into the service", async () => { + const service = moduleRef.get(SfdcReportsService); + + await service.getChallengesReport({ billingAccountIds: ["80001012"] }); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/challenges.sql", + ); + expect(mockDbService.query).toHaveBeenCalled(); + }); + + it("injects mocked dependencies for payments report", async () => { + const service = moduleRef.get(SfdcReportsService); + + await service.getPaymentsReport({ billingAccountIds: ["80001012"] }); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/payments.sql", + ); + expect(mockDbService.query).toHaveBeenCalled(); + }); +}); diff --git a/src/reports/sfdc/sfdc-reports.service.spec.ts b/src/reports/sfdc/sfdc-reports.service.spec.ts new file mode 100644 index 0000000..031d64f --- /dev/null +++ b/src/reports/sfdc/sfdc-reports.service.spec.ts @@ -0,0 +1,1081 @@ +import { BadRequestException } from "@nestjs/common"; +import { Test, TestingModule } from "@nestjs/testing"; +import { SqlLoaderService } from "src/common/sql-loader.service"; +import { DbService } from "../../db/db.service"; +import { + ChallengesFilterMode, + ChallengesReportQueryDto, + PaymentsReportQueryDto, + TaasJobsReportQueryDto, +} from "./sfdc-reports.dto"; +import { SfdcReportsService } from "./sfdc-reports.service"; +import { + mockChallengeData, + mockChallengeQueryDto, + mockBaFeesData, + mockBaFeesQueryDto, + mockPaymentData, + mockPaymentQueryDto, + mockSqlQuery, + mockTaasJobsData, + mockTaasJobsQueryDto, + mockTaasMemberVerificationData, + mockTaasMemberVerificationQueryDto, + mockTaasResourceBookingsData, + mockTaasResourceBookingsQueryDto, + mockWesternUnionPaymentsData, + mockWesternUnionPaymentsQueryDto, +} from "./test-helpers/mock-data"; + +describe("SfdcReportsService - getChallengesReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockChallengeData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("runs a billing account query successfully", async () => { + const result = await service.getChallengesReport( + mockChallengeQueryDto.billingAccount, + ); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/challenges.sql", + ); + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["80001012"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + expect(result).toEqual(mockChallengeData); + }); + + it("runs a challengeId query successfully", async () => { + const filters: ChallengesReportQueryDto = { + challengeIds: ["uuid1", "uuid2"], + filterMode: ChallengesFilterMode.CHALLENGE, + }; + + await service.getChallengesReport(filters); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + ["uuid1", "uuid2"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("splits include/exclude billing account filters", async () => { + await service.getChallengesReport({ + billingAccountIds: ["12345", "!67890"], + }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["12345"], + ["67890"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("rejects challenge mode with billingAccountIds", async () => { + await expect( + service.getChallengesReport({ + billingAccountIds: ["12345"], + challengeIds: ["uuid1"], + filterMode: ChallengesFilterMode.CHALLENGE, + }), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("rejects derived challenge mode when billingAccountIds accompany challengeIds", async () => { + await expect( + service.getChallengesReport({ + billingAccountIds: ["12345"], + challengeIds: ["uuid1"], + }), + ).rejects.toThrow( + "billingAccountIds cannot be supplied when filterMode is 'challenge'.", + ); + }); + + it("rejects challenge mode without challengeIds", async () => { + await expect( + service.getChallengesReport({ + filterMode: ChallengesFilterMode.CHALLENGE, + }), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("rejects challenge mode when challengeIds is an empty array", async () => { + await expect( + service.getChallengesReport({ + filterMode: ChallengesFilterMode.CHALLENGE, + challengeIds: [], + }), + ).rejects.toThrow( + "challengeIds must be provided when filterMode is 'challenge'.", + ); + }); + + it("rejects billingAccount mode when challengeIds are supplied explicitly", async () => { + await expect( + service.getChallengesReport({ + filterMode: ChallengesFilterMode.BILLING_ACCOUNT, + challengeIds: ["uuid1"], + }), + ).rejects.toBeInstanceOf(BadRequestException); + }); + + it("passes optional filters in the right order", async () => { + const filters: ChallengesReportQueryDto = { + billingAccountIds: ["80001012"], + challengeName: "Task Payment", + challengeStatus: ["ACTIVE"], + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-02-01T00:00:00.000Z", + isTask: true, + handles: ["user_01"], + minAmount: 100, + maxAmount: 200, + }; + + await service.getChallengesReport(filters); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["80001012"], + undefined, + undefined, + "Task Payment", + ["ACTIVE"], + "2023-01-01T00:00:00.000Z", + "2023-02-01T00:00:00.000Z", + true, + ["user_01"], + 100, + 200, + ]); + }); + + it("defaults filterMode to billingAccount when billingAccountIds are provided", async () => { + await service.getChallengesReport({ billingAccountIds: ["80001012"] }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["80001012"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("defaults filterMode to challenge when only challengeIds are provided", async () => { + await service.getChallengesReport({ challengeIds: ["uuid1", "uuid2"] }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + ["uuid1", "uuid2"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getChallengesReport( + mockChallengeQueryDto.billingAccount, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getChallengesReport(mockChallengeQueryDto.billingAccount), + ).rejects.toThrow("db error"); + }); +}); + +describe("SfdcReportsService - getPaymentsReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockPaymentData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("loads the payments SQL file", async () => { + await service.getPaymentsReport(mockPaymentQueryDto.minimal); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/payments.sql", + ); + }); + + it("runs a basic query successfully", async () => { + const result = await service.getPaymentsReport( + mockPaymentQueryDto.billingAccount, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["80001012"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + expect(result).toEqual(mockPaymentData); + }); + + it("splits include/exclude billing account filters", async () => { + await service.getPaymentsReport({ + billingAccountIds: ["12345", "!67890"], + }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["12345"], + ["67890"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("passes all optional filters in the right order", async () => { + await service.getPaymentsReport(mockPaymentQueryDto.full); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["80001012"], + ["90000000"], + ["e74c3e37-73c9-474e-a838-a38dd4738906"], + ["user_01", "user_02"], + "Task Payment for member", + "2023-01-01T00:00:00.000Z", + "2023-03-01T00:00:00.000Z", + 100, + 500, + ["COMPLETED"], + ]); + }); + + it("handles challengeStatus filter for cancel payment checks", async () => { + await service.getPaymentsReport(mockPaymentQueryDto.challengeStatus); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ["COMPLETED"], + ]); + }); + + it("handles null challengeStatus for cancellable payments", async () => { + await service.getPaymentsReport(mockPaymentQueryDto.nullChallengeStatus); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + [null as unknown as string], + ]); + }); + + it("returns empty array when query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getPaymentsReport( + mockPaymentQueryDto.billingAccount, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce( + new Error("db connection failed"), + ); + + await expect( + service.getPaymentsReport(mockPaymentQueryDto.billingAccount), + ).rejects.toThrow("db connection failed"); + }); + + it("handles empty billingAccountIds array", async () => { + await service.getPaymentsReport({ + billingAccountIds: [], + } as PaymentsReportQueryDto); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("passes undefined for omitted optional filters", async () => { + await service.getPaymentsReport(mockPaymentQueryDto.minimal); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); +}); + +describe("SfdcReportsService - getTaasJobsReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockTaasJobsData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("loads the taas jobs SQL file", async () => { + await service.getTaasJobsReport(mockTaasJobsQueryDto.minimal); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/taas-jobs.sql", + ); + }); + + it("runs a basic query successfully", async () => { + const result = await service.getTaasJobsReport( + mockTaasJobsQueryDto.byJobIds, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + expect(result).toEqual(mockTaasJobsData); + }); + + it("passes all optional filters in the right order", async () => { + await service.getTaasJobsReport(mockTaasJobsQueryDto.full); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + [ + "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + [12345, 67890], + ["open", "assigned"], + ["developer"], + ["React", "TypeScript"], + "2023-04-01", + "2023-05-31", + 1, + 3, + ]); + }); + + it("passes undefined for omitted optional filters", async () => { + await service.getTaasJobsReport(mockTaasJobsQueryDto.minimal); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("treats empty arrays as undefined", async () => { + await service.getTaasJobsReport({ jobIds: [] } as TaasJobsReportQueryDto); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getTaasJobsReport( + mockTaasJobsQueryDto.byJobIds, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getTaasJobsReport(mockTaasJobsQueryDto.byJobIds), + ).rejects.toThrow("db error"); + }); +}); + +describe("SfdcReportsService - getTaasResourceBookingsReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockTaasResourceBookingsData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("loads the taas resource bookings SQL file", async () => { + await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.minimal, + ); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/taas-resource-bookings.sql", + ); + }); + + it("runs a basic query successfully", async () => { + const result = await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + expect(result).toEqual(mockTaasResourceBookingsData); + }); + + it("lowercases handles for case-insensitive matching", async () => { + await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byHandles, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + ["user1", "user2"], + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("passes all optional filters in the right order", async () => { + await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.full, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + [ + "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "d3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + [ + "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + [12345, 67890], + ["100001", "100002"], + ["dev_user", "design_guru"], + ["placed", "active"], + ["80001012", "90001012"], + "2023-04-01", + "2023-06-30", + 90, + 2300, + ]); + }); + + it("passes undefined for omitted optional filters", async () => { + await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.minimal, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getTaasResourceBookingsReport( + mockTaasResourceBookingsQueryDto.byResourceBookingIds, + ), + ).rejects.toThrow("db error"); + }); +}); + +describe("SfdcReportsService - getTaasMemberVerificationReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockTaasMemberVerificationData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("loads the taas member verification SQL file", async () => { + await service.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.singleHandle, + ); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/taas-member-verification.sql", + ); + }); + + it("runs a query with a single handle", async () => { + const result = await service.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.singleHandle, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [["user1"]]); + expect(result).toEqual(mockTaasMemberVerificationData); + }); + + it("lowercases handles for case-insensitive matching", async () => { + await service.getTaasMemberVerificationReport({ + handles: ["User1", "USER2"], + }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["user1", "user2"], + ]); + }); + + it("runs a query with multiple handles", async () => { + await service.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + ["user1", "user2", "user3"], + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.multipleHandles, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getTaasMemberVerificationReport( + mockTaasMemberVerificationQueryDto.singleHandle, + ), + ).rejects.toThrow("db error"); + }); +}); + +describe("SfdcReportsService - getWesternUnionPaymentsReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockWesternUnionPaymentsData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("loads the western union payments SQL file", async () => { + await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.minimal, + ); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/western-union-payments.sql", + ); + }); + + it("runs a basic query with defaults", async () => { + const result = await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.minimal, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "Entered into payment system", + "Western Union", + undefined, + undefined, + undefined, + ]); + expect(result).toEqual(mockWesternUnionPaymentsData); + }); + + it("lowercases handles for case-insensitive matching", async () => { + await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.withHandles, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "Entered into payment system", + "Western Union", + undefined, + undefined, + mockWesternUnionPaymentsQueryDto.withHandles.handles?.map((handle) => + handle.toLowerCase(), + ), + ]); + }); + + it("passes all optional filters in the right order", async () => { + await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "Paid", + "Western Union", + "2023-01-01", + "2023-03-31", + ["winner_one", "winner_two"], + ]); + }); + + it("uses custom paymentStatus when provided", async () => { + await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.withPaymentStatus, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "Paid", + "Western Union", + undefined, + undefined, + undefined, + ]); + }); + + it("uses custom paymentMethod when provided", async () => { + await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.withPaymentMethod, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "Entered into payment system", + "Western Union", + undefined, + undefined, + undefined, + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getWesternUnionPaymentsReport( + mockWesternUnionPaymentsQueryDto.full, + ), + ).rejects.toThrow("db error"); + }); +}); + +describe("SfdcReportsService - getBaFeesReport", () => { + let service: SfdcReportsService; + let moduleRef: TestingModule; + + const mockDbService = { + query: jest.fn(), + }; + + const mockSqlLoaderService = { + load: jest.fn(), + }; + + beforeEach(async () => { + mockDbService.query.mockReset(); + mockSqlLoaderService.load.mockReset(); + mockDbService.query.mockResolvedValue(mockBaFeesData); + mockSqlLoaderService.load.mockReturnValue(mockSqlQuery); + + moduleRef = await Test.createTestingModule({ + providers: [ + SfdcReportsService, + { provide: DbService, useValue: mockDbService }, + { provide: SqlLoaderService, useValue: mockSqlLoaderService }, + ], + }).compile(); + + service = moduleRef.get(SfdcReportsService); + }); + + it("creates the service", () => { + expect(service).toBeDefined(); + }); + + it("loads ba-fees.sql for total grouping (default)", async () => { + await service.getBaFeesReport(mockBaFeesQueryDto.byBillingAccount); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/ba-fees.sql", + ); + }); + + it("loads ba-fees-monthly.sql for month grouping", async () => { + await service.getBaFeesReport(mockBaFeesQueryDto.monthlyGrouping); + + expect(mockSqlLoaderService.load).toHaveBeenCalledWith( + "reports/sfdc/ba-fees-monthly.sql", + ); + }); + + it("runs a basic query successfully", async () => { + const result = await service.getBaFeesReport( + mockBaFeesQueryDto.byBillingAccount, + ); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + null, + null, + ["80001012"], + null, + ]); + expect(result).toEqual(mockBaFeesData); + }); + + it("splits include/exclude billing account filters", async () => { + await service.getBaFeesReport(mockBaFeesQueryDto.withExclusions); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + null, + null, + ["80001012"], + ["90000000"], + ]); + }); + + it("passes all optional filters in the right order", async () => { + await service.getBaFeesReport(mockBaFeesQueryDto.full); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + "2023-01-01T00:00:00.000Z", + "2023-12-31T23:59:59.000Z", + ["80001012"], + ["90000000"], + ]); + }); + + it("passes null for omitted optional filters", async () => { + await service.getBaFeesReport(mockBaFeesQueryDto.minimal); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + null, + null, + null, + null, + ]); + }); + + it("handles empty billingAccountIds array", async () => { + await service.getBaFeesReport({ billingAccountIds: [] }); + + expect(mockDbService.query).toHaveBeenCalledWith(mockSqlQuery, [ + null, + null, + null, + null, + ]); + }); + + it("returns an empty array when the query has no results", async () => { + mockDbService.query.mockResolvedValueOnce([]); + + const result = await service.getBaFeesReport(mockBaFeesQueryDto.full); + + expect(result).toEqual([]); + }); + + it("propagates database errors", async () => { + mockDbService.query.mockRejectedValueOnce(new Error("db error")); + + await expect( + service.getBaFeesReport(mockBaFeesQueryDto.full), + ).rejects.toThrow("db error"); + }); +}); diff --git a/src/reports/sfdc/sfdc-reports.service.ts b/src/reports/sfdc/sfdc-reports.service.ts index 9237f1e..156b266 100644 --- a/src/reports/sfdc/sfdc-reports.service.ts +++ b/src/reports/sfdc/sfdc-reports.service.ts @@ -1,11 +1,22 @@ -import { Injectable } from "@nestjs/common"; +import { BadRequestException, Injectable } from "@nestjs/common"; import { DbService } from "../../db/db.service"; import { Logger } from "src/common/logger"; import { BaFeesReportQueryDto, BaFeesReportResponse, + ChallengesFilterMode, + ChallengesReportQueryDto, + ChallengesReportResponse, PaymentsReportQueryDto, PaymentsReportResponse, + TaasJobsReportQueryDto, + TaasJobsReportResponse, + TaasMemberVerificationReportQueryDto, + TaasMemberVerificationReportResponse, + TaasResourceBookingsReportQueryDto, + TaasResourceBookingsReportResponse, + WesternUnionPaymentsReportQueryDto, + WesternUnionPaymentsReportResponse, } from "./sfdc-reports.dto"; import { SqlLoaderService } from "src/common/sql-loader.service"; import { multiValueArrayFilter } from "src/common/filtering"; @@ -19,6 +30,75 @@ export class SfdcReportsService { private readonly sql: SqlLoaderService, ) {} + async getChallengesReport(filters: ChallengesReportQueryDto) { + this.logger.debug("Starting getChallengesReport with filters:", filters); + + const query = this.sql.load("reports/sfdc/challenges.sql"); + + const resolvedFilterMode = + filters.filterMode ?? + (filters.challengeIds?.length + ? ChallengesFilterMode.CHALLENGE + : ChallengesFilterMode.BILLING_ACCOUNT); + + const { include: billingAccountIds, exclude: excludeBillingAccountIds } = + multiValueArrayFilter(filters.billingAccountIds); + + if ( + resolvedFilterMode === ChallengesFilterMode.CHALLENGE && + (billingAccountIds.length || excludeBillingAccountIds.length) + ) { + throw new BadRequestException( + "billingAccountIds cannot be supplied when filterMode is 'challenge'.", + ); + } + + if ( + resolvedFilterMode === ChallengesFilterMode.CHALLENGE && + !filters.challengeIds?.length + ) { + throw new BadRequestException( + "challengeIds must be provided when filterMode is 'challenge'.", + ); + } + + if ( + resolvedFilterMode === ChallengesFilterMode.BILLING_ACCOUNT && + filters.challengeIds?.length && + filters.filterMode === ChallengesFilterMode.BILLING_ACCOUNT + ) { + throw new BadRequestException( + "challengeIds are only supported when filterMode is set to 'challenge'.", + ); + } + + const challenges = await this.db.query(query, [ + resolvedFilterMode === ChallengesFilterMode.BILLING_ACCOUNT && + billingAccountIds.length + ? billingAccountIds + : undefined, + resolvedFilterMode === ChallengesFilterMode.BILLING_ACCOUNT && + excludeBillingAccountIds.length + ? excludeBillingAccountIds + : undefined, + resolvedFilterMode === ChallengesFilterMode.CHALLENGE + ? filters.challengeIds + : undefined, + filters.challengeName, + filters.challengeStatus, + filters.startDate, + filters.endDate, + filters.isTask, + filters.handles, + filters.minAmount, + filters.maxAmount, + ]); + + this.logger.debug("Mapped challenges to the final report format"); + + return challenges; + } + async getPaymentsReport(filters: PaymentsReportQueryDto) { this.logger.debug("Starting getPaymentsReport with filters:", filters); @@ -37,6 +117,7 @@ export class SfdcReportsService { filters.endDate, filters.minPaymentAmount, filters.maxPaymentAmount, + filters.challengeStatus, ]); this.logger.debug("Mapped payments to the final report format"); @@ -44,14 +125,142 @@ export class SfdcReportsService { return payments; } + async getTaasJobsReport(filters: TaasJobsReportQueryDto) { + this.logger.debug("Starting getTaasJobsReport with filters:", filters); + + const query = this.sql.load("reports/sfdc/taas-jobs.sql"); + + const report = await this.db.query(query, [ + filters.jobIds, + filters.projectIds, + filters.status, + filters.resourceType, + filters.skills, + filters.startDate, + filters.endDate, + filters.minPositions, + filters.maxPositions, + ]); + + this.logger.debug("Mapped TaaS jobs to the final report format"); + + return report; + } + + async getTaasResourceBookingsReport( + filters: TaasResourceBookingsReportQueryDto, + ) { + this.logger.debug( + "Starting getTaasResourceBookingsReport with filters:", + filters, + ); + + const query = this.sql.load("reports/sfdc/taas-resource-bookings.sql"); + const handles = filters.handles?.map((handle) => handle.toLowerCase()); + + const report = await this.db.query( + query, + [ + filters.resourceBookingIds, + filters.jobIds, + filters.projectIds, + filters.userIds, + handles, + filters.status, + filters.billingAccountIds, + filters.startDate, + filters.endDate, + filters.minCustomerRate, + filters.maxCustomerRate, + ], + ); + + this.logger.debug( + "Mapped TaaS resource bookings to the final report format", + ); + + return report; + } + + async getTaasMemberVerificationReport( + filters: TaasMemberVerificationReportQueryDto, + ) { + this.logger.debug( + "Starting getTaasMemberVerificationReport with filters:", + filters, + ); + + const query = this.sql.load("reports/sfdc/taas-member-verification.sql"); + const handleLower = filters.handles.map((handle) => handle.toLowerCase()); + + const report = await this.db.query( + query, + [handleLower], + ); + + this.logger.debug( + "Mapped TaaS member verification to the final report format", + ); + + return report; + } + + async getWesternUnionPaymentsReport( + filters: WesternUnionPaymentsReportQueryDto, + ) { + this.logger.debug( + "Starting getWesternUnionPaymentsReport with filters:", + filters, + ); + + const query = this.sql.load("reports/sfdc/western-union-payments.sql"); + const paymentStatus = + filters.paymentStatus ?? "Entered into payment system"; + const paymentMethod = filters.paymentMethod ?? "Western Union"; + const handles = filters.handles?.map((handle) => handle.toLowerCase()); + + const report = await this.db.query( + query, + [ + paymentStatus, + paymentMethod, + filters.startDate, + filters.endDate, + handles, + ], + ); + + this.logger.debug( + "Mapped Western Union payments to the final report format", + ); + + return report; + } + async getBaFeesReport(filters: BaFeesReportQueryDto) { this.logger.debug("Starting getBaFeesReport with filters:", filters); - const query = this.sql.load("reports/sfdc/ba-fees.sql"); + const { include: billingAccountIds, exclude: excludeBillingAccountIds } = + multiValueArrayFilter(filters.billingAccountIds); + + const query = this.sql.load( + filters.groupBy === "month" + ? "reports/sfdc/ba-fees-monthly.sql" + : "reports/sfdc/ba-fees.sql", + ); + + this.logger.debug( + "Resolved BA fee filters", + billingAccountIds, + excludeBillingAccountIds, + filters.groupBy, + ); const report = await this.db.query(query, [ - filters.startDate, - filters.endDate, + filters.startDate ?? null, + filters.endDate ?? null, + billingAccountIds.length ? billingAccountIds : null, + excludeBillingAccountIds.length ? excludeBillingAccountIds : null, ]); this.logger.debug("Mapped BA fees to the final report format"); diff --git a/src/reports/sfdc/test-helpers/mock-data.ts b/src/reports/sfdc/test-helpers/mock-data.ts new file mode 100644 index 0000000..dca493b --- /dev/null +++ b/src/reports/sfdc/test-helpers/mock-data.ts @@ -0,0 +1,493 @@ +import { + ChallengesFilterMode, + ChallengesReportQueryDto, + ChallengesReportResponse, + BaFeesReportQueryDto, + BaFeesReportResponse, + PaymentsReportQueryDto, + PaymentsReportResponse, + TaasJobsReportQueryDto, + TaasJobsReportResponse, + TaasMemberVerificationReportQueryDto, + TaasMemberVerificationReportResponse, + TaasResourceBookingsReportQueryDto, + TaasResourceBookingsReportResponse, + WesternUnionPaymentsReportQueryDto, + WesternUnionPaymentsReportResponse, +} from "../sfdc-reports.dto"; + +export const mockChallengeData: ChallengesReportResponse[] = [ + { + challengeId: "e74c3e37-73c9-474e-a838-a38dd4738906", + challengeName: "Sample Challenge 1", + billingAccountId: "80001012", + challengeStatus: "COMPLETED", + completeDate: "2023-01-15T00:00:00.000Z", + paymentDate: "2023-01-16T00:00:00.000Z", + isTask: false, + challengeFee: 100.5, + memberPayments: 500, + lineItemAmount: 600.5, + memberHandle: "user_01", + memberFirstName: "John", + memberLastName: "Doe", + }, + { + challengeId: "8d4a1ce9-6a58-4bf2-8c3b-c57a8b3a3f92", + challengeName: "Task Payment for member", + billingAccountId: "80001012", + challengeStatus: "ACTIVE", + completeDate: "2023-02-01T00:00:00.000Z", + paymentDate: "2023-02-02T00:00:00.000Z", + isTask: true, + challengeFee: 75.25, + memberPayments: 250, + lineItemAmount: 325.25, + memberHandle: "user_02", + memberFirstName: "Jane", + memberLastName: "Smith", + }, +]; + +export const mockChallengeQueryDto: Record = { + minimal: {}, + billingAccount: { + billingAccountIds: ["80001012"], + filterMode: ChallengesFilterMode.BILLING_ACCOUNT, + }, + challenge: { + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + filterMode: ChallengesFilterMode.CHALLENGE, + }, + full: { + billingAccountIds: ["80001012", "!90000000"], + filterMode: ChallengesFilterMode.BILLING_ACCOUNT, + challengeName: "Task Payment for member", + challengeStatus: ["COMPLETED", "ACTIVE"], + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-03-01T00:00:00.000Z", + isTask: true, + handles: ["user_01", "user_02"], + minAmount: 50, + maxAmount: 1000, + }, +}; + +export const mockPaymentData: PaymentsReportResponse[] = [ + { + paymentId: "f1b5e640-1de2-4a57-aad0-e6713e5b1c38", + paymentDate: "2023-01-16T00:00:00.000Z", + billingAccountId: "80001012", + paymentStatus: "Paid", + challengeFee: 150.75, + paymentAmount: 500, + challengeId: "e74c3e37-73c9-474e-a838-a38dd4738906", + category: "Challenge Prizes", + isTask: false, + challengeName: "Sample Challenge 1", + challengeStatus: "COMPLETED", + winnerHandle: "user_01", + winnerId: "123456", + winnerFirstName: "John", + winnerLastName: "Doe", + }, + { + paymentId: "8c7d0d7a-5bdc-4e78-8f4e-4a1e8c3b72df", + paymentDate: "2023-02-05T00:00:00.000Z", + billingAccountId: "90000000", + paymentStatus: "Owed", + challengeFee: 90.25, + paymentAmount: 350, + challengeId: "8d4a1ce9-6a58-4bf2-8c3b-c57a8b3a3f92", + category: "Task Payments", + isTask: true, + challengeName: "Task Payment for member", + challengeStatus: "ACTIVE", + winnerHandle: "user_02", + winnerId: "654321", + winnerFirstName: "Jane", + winnerLastName: "Smith", + }, + { + paymentId: "2d8c5a2b-3f3b-4c5a-9eaf-7dfffb9c2f2b", + paymentDate: "2023-03-10T00:00:00.000Z", + billingAccountId: "80001013", + paymentStatus: "Paid", + challengeFee: 120, + paymentAmount: 425.5, + challengeId: "6bc7a37d-37ad-4c52-a2f0-71fa2c84e6e3", + category: "Marathon Match", + isTask: false, + challengeName: "Algo Payment", + challengeStatus: null as unknown as string, + winnerHandle: "user_cancel", + winnerId: "789012", + winnerFirstName: "Alex", + winnerLastName: "Johnson", + }, +]; + +export const mockPaymentQueryDto: Record = { + minimal: {}, + billingAccount: { + billingAccountIds: ["80001012"], + }, + withExclusions: { + billingAccountIds: ["80001012", "!90000000"], + }, + challengeStatus: { + challengeStatus: ["COMPLETED"], + }, + nullChallengeStatus: { + challengeStatus: [null as unknown as string], + }, + full: { + billingAccountIds: ["80001012", "!90000000"], + challengeIds: ["e74c3e37-73c9-474e-a838-a38dd4738906"], + handles: ["user_01", "user_02"], + challengeName: "Task Payment for member", + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-03-01T00:00:00.000Z", + minPaymentAmount: 100, + maxPaymentAmount: 500, + challengeStatus: ["COMPLETED"], + }, +}; + +export const mockBaFeesData: BaFeesReportResponse[] = [ + { + billingAccountId: "80001012", + totalFees: 1200.5, + totalMemberPayments: 980.75, + currentPaymentStatus: "Paid", + }, + { + billingAccountId: "90000000", + totalFees: 850, + totalMemberPayments: 700, + currentPaymentStatus: "Owed", + }, + { + billingAccountId: "80001012", + month: "2024-01", + totalFees: 500, + totalMemberPayments: 400, + paymentCount: 15, + earliestPaymentDate: "2024-01-02", + latestPaymentDate: "2024-01-31", + currentPaymentStatus: "Paid", + }, +]; + +export const mockBaFeesQueryDto: Record = { + minimal: {}, + byBillingAccount: { billingAccountIds: ["80001012"] }, + withExclusions: { billingAccountIds: ["80001012", "!90000000"] }, + withDates: { + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-12-31T23:59:59.000Z", + }, + monthlyGrouping: { groupBy: "month", billingAccountIds: ["80001012"] }, + full: { + billingAccountIds: ["80001012", "!90000000"], + startDate: "2023-01-01T00:00:00.000Z", + endDate: "2023-12-31T23:59:59.000Z", + groupBy: "month", + }, +}; + +export const mockTaasJobsData: TaasJobsReportResponse[] = [ + { + jobId: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + projectId: 12345, + externalId: "EXT-1001", + title: "Frontend Developer", + description: "Build UI components for dashboards", + status: "open", + resourceType: "developer", + rateType: "hourly", + skills: ["React", "TypeScript"], + numPositions: 2, + startDate: "2023-04-01", + duration: 12, + workload: "full-time", + minSalary: 60, + maxSalary: 85, + hoursPerWeek: 40, + currency: "USD", + createdAt: "2023-03-15T10:00:00.000Z", + updatedAt: "2023-03-20T12:30:00.000Z", + }, + { + jobId: "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + projectId: 67890, + externalId: "EXT-2002", + title: "UI/UX Designer", + description: "Design mobile-first experiences", + status: "assigned", + resourceType: "designer", + rateType: "weekly", + skills: { primary: ["Figma"], secondary: ["UX Research", "Prototyping"] }, + numPositions: 1, + startDate: "2023-05-10", + duration: 8, + workload: "part-time", + minSalary: 2000, + maxSalary: 2500, + hoursPerWeek: 25, + currency: "EUR", + createdAt: "2023-04-01T09:00:00.000Z", + updatedAt: "2023-04-05T15:45:00.000Z", + }, + { + jobId: "c4dd05f8-7f7e-4ef0-b8eb-a1bde3f1ad74", + projectId: 24680, + externalId: "EXT-3003", + title: "Backend Engineer", + description: "Maintain microservices and APIs", + status: "closed", + resourceType: "developer", + rateType: "hourly", + skills: ["Node.js", "PostgreSQL"], + numPositions: 3, + startDate: "2023-02-01", + duration: 16, + workload: "full-time", + minSalary: 70, + maxSalary: 95, + hoursPerWeek: 40, + currency: "USD", + createdAt: "2023-01-10T08:30:00.000Z", + updatedAt: "2023-02-15T11:15:00.000Z", + }, +]; + +export const mockTaasJobsQueryDto: Record = { + minimal: {}, + byJobIds: { + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }, + byProjectIds: { + projectIds: [12345], + }, + byStatus: { + status: ["open", "assigned"], + }, + bySkills: { + skills: ["React", "TypeScript"], + }, + full: { + jobIds: [ + "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + projectIds: [12345, 67890], + status: ["open", "assigned"], + resourceType: ["developer"], + skills: ["React", "TypeScript"], + startDate: "2023-04-01", + endDate: "2023-05-31", + minPositions: 1, + maxPositions: 3, + }, +}; + +export const mockTaasResourceBookingsData: TaasResourceBookingsReportResponse[] = + [ + { + resourceBookingId: "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + jobId: "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + projectId: 12345, + userId: "100001", + userHandle: "dev_user", + firstName: "Dev", + lastName: "User", + status: "placed", + startDate: "2023-04-01", + endDate: "2023-07-01", + memberRate: 70, + customerRate: 95, + rateType: "hourly", + billingAccountId: "80001012", + createdAt: "2023-03-20T10:00:00.000Z", + updatedAt: "2023-03-25T12:00:00.000Z", + }, + { + resourceBookingId: "d3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + jobId: "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + projectId: 67890, + userId: "100002", + userHandle: "design_guru", + firstName: "Design", + lastName: "Guru", + status: "active", + startDate: "2023-05-15", + endDate: "2023-07-15", + memberRate: 1800, + customerRate: 2200, + rateType: "weekly", + billingAccountId: "90001012", + createdAt: "2023-04-10T09:30:00.000Z", + updatedAt: "2023-04-18T16:45:00.000Z", + }, + { + resourceBookingId: "e4dd05f8-7f7e-4ef0-b8eb-a1bde3f1ad74", + jobId: "c4dd05f8-7f7e-4ef0-b8eb-a1bde3f1ad74", + projectId: 24680, + userId: "100003", + userHandle: "api_builder", + firstName: "Api", + lastName: "Builder", + status: "closed", + startDate: "2023-02-10", + endDate: "2023-04-10", + memberRate: 80, + customerRate: 110, + rateType: "hourly", + billingAccountId: "80001013", + createdAt: "2023-01-15T08:15:00.000Z", + updatedAt: "2023-02-20T14:20:00.000Z", + }, + ]; + +export const mockTaasResourceBookingsQueryDto: Record< + string, + TaasResourceBookingsReportQueryDto +> = { + minimal: {}, + byResourceBookingIds: { + resourceBookingIds: ["c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }, + byJobIds: { + jobIds: ["a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52"], + }, + byProjectIds: { + projectIds: [12345], + }, + byUserIds: { + userIds: ["100001"], + }, + byHandles: { + handles: ["User1", "USER2"], + }, + byStatus: { + status: ["placed", "active"], + }, + byBillingAccountIds: { + billingAccountIds: ["80001012"], + }, + full: { + resourceBookingIds: [ + "c2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "d3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + jobIds: [ + "a2bbf3e6-5d5c-4cf8-8c69-89fcd1d98d52", + "b3ccf4f7-6e6d-4df9-9d7a-90acd2e09c63", + ], + projectIds: [12345, 67890], + userIds: ["100001", "100002"], + handles: ["dev_user", "design_guru"], + status: ["placed", "active"], + billingAccountIds: ["80001012", "90001012"], + startDate: "2023-04-01", + endDate: "2023-06-30", + minCustomerRate: 90, + maxCustomerRate: 2300, + }, +}; + +export const mockTaasMemberVerificationData: TaasMemberVerificationReportResponse[] = + [ + { + handle: "user1", + userId: "100001", + verified: true, + verificationStatus: "Verified", + }, + { + handle: "user2", + userId: "100002", + verified: false, + verificationStatus: "Unverified", + }, + { + handle: "user3", + userId: "100003", + verified: true, + verificationStatus: "Verified", + }, + ]; + +export const mockTaasMemberVerificationQueryDto: Record< + string, + TaasMemberVerificationReportQueryDto +> = { + singleHandle: { + handles: ["user1"], + }, + multipleHandles: { + handles: ["user1", "user2", "user3"], + }, +}; + +export const mockWesternUnionPaymentsData: WesternUnionPaymentsReportResponse[] = + [ + { + paymentId: "f5b6c740-2ef3-4b68-aad1-f7824e6c2c49", + handle: "winner_one", + grossAmount: 500, + referenceId: "ref-001", + description: "Design Contest", + paymentStatus: "Entered into payment system", + paymentDate: "2023-01-15", + }, + { + paymentId: "a6c7d851-3ff4-5c79-bbe2-07835f7d3d5a", + handle: "winner_two", + grossAmount: 750, + referenceId: "ref-002", + description: "Development Challenge", + paymentStatus: "Paid", + paymentDate: "2023-02-10", + }, + { + paymentId: "b7d8e962-40f5-6d8a-9cf3-18946b8e4e6b", + handle: "winner_three", + grossAmount: 620.5, + referenceId: "ref-003", + description: "Bug Bash", + paymentStatus: "On hold", + paymentDate: "2023-03-05", + }, + ]; + +export const mockWesternUnionPaymentsQueryDto: Record< + string, + WesternUnionPaymentsReportQueryDto +> = { + minimal: {}, + withPaymentStatus: { + paymentStatus: "Paid", + }, + withPaymentMethod: { + paymentMethod: "Western Union", + }, + withDates: { + startDate: "2023-01-01", + endDate: "2023-03-31", + }, + withHandles: { + handles: ["Winner_One", "WINNER_TWO"], + }, + full: { + paymentStatus: "Paid", + paymentMethod: "Western Union", + startDate: "2023-01-01", + endDate: "2023-03-31", + handles: ["winner_one", "winner_two"], + }, +}; + +export const mockSqlQuery = + 'SELECT * FROM "challenges"."Challenge" WHERE challengeId = ANY($1)'; diff --git a/src/reports/topcoder/dto/registrant-countries.dto.ts b/src/reports/topcoder/dto/registrant-countries.dto.ts index 6f6aee7..2c286ff 100644 --- a/src/reports/topcoder/dto/registrant-countries.dto.ts +++ b/src/reports/topcoder/dto/registrant-countries.dto.ts @@ -2,9 +2,7 @@ import { Transform } from "class-transformer"; import { IsNotEmpty, IsString } from "class-validator"; export class RegistrantCountriesQueryDto { - @Transform(({ value }) => - typeof value === "string" ? value.trim() : value, - ) + @Transform(({ value }) => (typeof value === "string" ? value.trim() : value)) @IsString() @IsNotEmpty() challengeId!: string; diff --git a/src/reports/topcoder/topcoder-reports.controller.ts b/src/reports/topcoder/topcoder-reports.controller.ts index 582f2ac..45ba657 100644 --- a/src/reports/topcoder/topcoder-reports.controller.ts +++ b/src/reports/topcoder/topcoder-reports.controller.ts @@ -198,7 +198,8 @@ export class TopcoderReportsController { @Get("/weekly-challenge-volume") @ApiOperation({ - summary: "Weekly challenge counts by task indicator for the last four weeks", + summary: + "Weekly challenge counts by task indicator for the last four weeks", }) getWeeklyChallengeVolume() { return this.reports.getWeeklyChallengeVolume(); diff --git a/src/reports/topcoder/topcoder-reports.service.ts b/src/reports/topcoder/topcoder-reports.service.ts index 6f7bd59..c30b517 100644 --- a/src/reports/topcoder/topcoder-reports.service.ts +++ b/src/reports/topcoder/topcoder-reports.service.ts @@ -81,9 +81,7 @@ export class TopcoderReportsService { } async get90DayActiveCopilots() { - const query = this.sql.load( - "reports/topcoder/90-day-active-copilots.sql", - ); + const query = this.sql.load("reports/topcoder/90-day-active-copilots.sql"); const rows = await this.db.query<{ "copilot.count": string | number }>( query, ); @@ -255,9 +253,7 @@ export class TopcoderReportsService { async getWeeklyChallengeVolume() { const [dataQuery, totalsQuery] = [ this.sql.load("reports/topcoder/weekly-challenge-volume.sql"), - this.sql.load( - "reports/topcoder/weekly-challenge-volume-row-totals.sql", - ), + this.sql.load("reports/topcoder/weekly-challenge-volume-row-totals.sql"), ]; const [challengeRows, totalRows] = await Promise.all([ @@ -288,9 +284,7 @@ export class TopcoderReportsService { z___min_rank: Number(row.z___min_rank ?? 0), z___pivot_row_rank: Number(row.z___pivot_row_rank ?? 0), z__pivot_col_ordering: Number(row.z__pivot_col_ordering ?? 0), - z__is_highest_ranked_cell: Number( - row.z__is_highest_ranked_cell ?? 0, - ), + z__is_highest_ranked_cell: Number(row.z__is_highest_ranked_cell ?? 0), })), totals: totalRows.map((row) => ({ "challenge.posting_week": row["challenge.posting_week"], @@ -305,16 +299,20 @@ export class TopcoderReportsService { ); const rows = await this.db.query<{ "participant_funnel_monthly.member_since_date_year": - string | number | null; + | string + | number + | null; "participant_funnel_monthly.new_signups": string | number | null; "participant_funnel_monthly.new_design_participants": - string | number | null; + | string + | number + | null; "participant_funnel_monthly.new_design_submitters": - string | number | null; - "participant_funnel_monthly.new_dev_participants": - string | number | null; - "participant_funnel_monthly.new_dev_submitters": - string | number | null; + | string + | number + | null; + "participant_funnel_monthly.new_dev_participants": string | number | null; + "participant_funnel_monthly.new_dev_submitters": string | number | null; }>(query); const row = rows?.[0]; @@ -349,13 +347,15 @@ export class TopcoderReportsService { "participant_funnel_monthly.member_since_date_week": string; "participant_funnel_monthly.new_signups": string | number | null; "participant_funnel_monthly.new_design_participants": - string | number | null; + | string + | number + | null; "participant_funnel_monthly.new_design_submitters": - string | number | null; - "participant_funnel_monthly.new_dev_participants": - string | number | null; - "participant_funnel_monthly.new_dev_submitters": - string | number | null; + | string + | number + | null; + "participant_funnel_monthly.new_dev_participants": string | number | null; + "participant_funnel_monthly.new_dev_submitters": string | number | null; }>(query); return rows.map((row) => ({ @@ -389,9 +389,7 @@ export class TopcoderReportsService { } async getWeeklyActiveCopilots() { - const query = this.sql.load( - "reports/topcoder/weekly-active-copilots.sql", - ); + const query = this.sql.load("reports/topcoder/weekly-active-copilots.sql"); const rows = await this.db.query<{ "challenge_stats.posting_week": string; "challenge.track": string; diff --git a/tsconfig.json b/tsconfig.json index e4dbf2e..0a586bd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,7 @@ "outDir": "./dist", "baseUrl": "./", "incremental": true, + "resolveJsonModule": true, "skipLibCheck": true, "strictNullChecks": true, "forceConsistentCasingInFileNames": true,