Skip to content

refactor: revamp to use data access layer #581

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 149 commits into from
Mar 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
8135ac8
wip
rakibansary Oct 26, 2022
f3c8fda
wip: test xray
rakibansary Oct 27, 2022
75ef95b
wip: more tracing
rakibansary Oct 27, 2022
7ac1980
wip: dont send trace info to bus
rakibansary Oct 28, 2022
3e0a4f6
feat: challenge phase extension
rakibansary Oct 31, 2022
b35ee6f
fix: incorrect reference
rakibansary Oct 31, 2022
29ebffc
fix: actual end date
rakibansary Oct 31, 2022
db9bdad
fix: actual end time & actual start time
rakibansary Nov 1, 2022
3357873
fix: post-mortem phase
rakibansary Nov 1, 2022
932cb27
Merge branch 'feat/tracing' into feat/phase-extension
rakibansary Nov 2, 2022
418b797
feat(tracing): include trace info in payload sent to bus
rakibansary Nov 23, 2022
33e4bb0
fix: only allow Active, Draft challenges to be extended
rakibansary Nov 23, 2022
69c0f26
fix: only allow Active, Draft challenges to be extended
rakibansary Nov 23, 2022
20c4a1d
fix (challenge extension): throw error when challenge phase and/or st…
rakibansary Nov 23, 2022
78a2587
fix(challenge update): disallow updating phase/startdate for complete…
rakibansary Nov 29, 2022
7459c60
refactor: format using prettier
rakibansary Jan 1, 2023
6aa8869
feat: handle grpc errors
rakibansary Jan 2, 2023
30814fd
feat: use domain object for challenge timeline template
rakibansary Jan 2, 2023
90730cb
feat: use domain object for lookups
rakibansary Jan 2, 2023
1968205
feat: add support for update operation in challenge timeline template
rakibansary Jan 4, 2023
3d7eb5a
fix: challenge timeline template delete response
rakibansary Jan 5, 2023
2298073
refactor(domain-challenge): wip timeline template
ThomasKranitsas Jan 5, 2023
73e1dc1
refactor(domain-challenge): use dal for challenge type db interactions
ThomasKranitsas Jan 6, 2023
944cfd6
refactor(domain-challenge): use dal for challenge track, phases, time…
ThomasKranitsas Jan 9, 2023
caff461
refactor(domain-challenge): update attachment and phase helper to use…
ThomasKranitsas Jan 10, 2023
4f15efb
feat: use domain-challenge to create challenge
rakibansary Jan 12, 2023
6591e1f
feat: use challenge domain
rakibansary Jan 16, 2023
8659f02
chore: lint fixes
rakibansary Jan 17, 2023
d945984
refactor(domain-challenge): integrate update/delete with dal for chal…
ThomasKranitsas Jan 23, 2023
ae8ef3c
refactor(domain-challenge): remove audit logs from challenge service
ThomasKranitsas Jan 23, 2023
1319c66
Merge pull request #551 from topcoder-platform/feat/challenge-update-del
rakibansary Jan 23, 2023
74f5152
Merge branch 'refactor/domain-challenge' into feat/integrate-dal
rakibansary Jan 23, 2023
2be3cfd
Merge pull request #552 from topcoder-platform/feat/integrate-dal
rakibansary Jan 23, 2023
7a8cb6d
refactor(domain-challenge): read challenge from DAL in AttachmentService
ThomasKranitsas Jan 27, 2023
cf3249c
chore: upgrade dependencies
rakibansary Feb 21, 2023
4bd2755
Merge branch 'dev' into refactor/domain-challenge
rakibansary Feb 21, 2023
134814e
ci: deploy to QA
rakibansary Feb 21, 2023
637b9ae
refactor: upgrade to opensearch & build fix
rakibansary Feb 21, 2023
2b239b5
fix: incorrect argument
rakibansary Feb 21, 2023
52aca93
fix: missing dependency
rakibansary Feb 21, 2023
d60f7b0
fix: script to migrate challenge records to dynamo-db
rakibansary Feb 21, 2023
41d5bc9
fix; logs+error handling when indexing challenge
rakibansary Feb 21, 2023
b7b85ce
integrate challenge update with DAL
ThomasKranitsas Feb 22, 2023
bad560e
Merge branch 'refactor/domain-challenge' of https://github.com/topcod…
ThomasKranitsas Feb 22, 2023
15f7174
fix(domain-acl): fixes for challenge update
ThomasKranitsas Feb 22, 2023
b224022
fix: incorrect scan queries
rakibansary Feb 27, 2023
e1166d4
fix: typo
rakibansary Mar 5, 2023
9473b14
feat: handle grpc errors
rakibansary Mar 5, 2023
f99f456
fix: update flows
rakibansary Mar 5, 2023
bd18a6f
fix: phase service issues
rakibansary Mar 5, 2023
9c6b174
fix: incorrect scan query
rakibansary Mar 5, 2023
c5a9c4c
fix: missing delete implementation
rakibansary Mar 7, 2023
2703dd9
fix: variable shadowing
rakibansary Mar 14, 2023
cb1391e
upgrade framework version
ThomasKranitsas Mar 16, 2023
2f7d230
Merge pull request #566 from topcoder-platform/feat/integrate-dal
ThomasKranitsas Mar 16, 2023
b9bc1ff
debug: add log
rakibansary Mar 17, 2023
105d351
update packages
ThomasKranitsas Mar 17, 2023
9105bdf
Merge pull request #567 from topcoder-platform/feat/integrate-dal
ThomasKranitsas Mar 17, 2023
56654ee
Merge branch 'dev' into refactor/domain-challenge
rakibansary Mar 19, 2023
94f2cf6
feat: challenge phase extension
rakibansary Oct 31, 2022
bdbd6cc
fix: incorrect reference
rakibansary Oct 31, 2022
399f085
fix: actual end date
rakibansary Oct 31, 2022
01c5600
fix: actual end time & actual start time
rakibansary Nov 1, 2022
48fabd9
fix: post-mortem phase
rakibansary Nov 1, 2022
b500ab1
fix: only allow Active, Draft challenges to be extended
rakibansary Nov 23, 2022
36e217f
fix: only allow Active, Draft challenges to be extended
rakibansary Nov 23, 2022
872a9fe
fix (challenge extension): throw error when challenge phase and/or st…
rakibansary Nov 23, 2022
e6c02e0
fix(challenge update): disallow updating phase/startdate for complete…
rakibansary Nov 29, 2022
ec436e6
fix(challenge update): disallow updating phase/startdate for complete…
rakibansary Nov 29, 2022
0435e02
feat: allow making submission phase arbitrary
rakibansary Jan 17, 2023
9ce75eb
fix: allow setting schedule start date
rakibansary Jan 17, 2023
c64f08d
fix: allow setting schedule start date
rakibansary Jan 17, 2023
8278dd1
fix: do not ignore scheduled start date
rakibansary Jan 17, 2023
2d03f73
fix: remove duplicate imports
rakibansary Mar 20, 2023
86f81af
feat: add support for constraints
rakibansary Jan 23, 2023
2a5e21d
Merge branch 'master' into refactor/domain-challenge
rakibansary Mar 20, 2023
420f617
fix: constraint type
rakibansary Mar 20, 2023
7085821
fix: parse metadata when indexing to es
rakibansary Mar 20, 2023
85c0b1f
fix: parse metadata when indexing to es
rakibansary Mar 20, 2023
4aa88a4
fix: populate constraints by default
rakibansary Mar 20, 2023
61dba28
fix: incorrect imports
rakibansary Mar 20, 2023
1796223
fix: incorrect reference
rakibansary Mar 20, 2023
7587b33
chore: remove useless log
rakibansary Mar 20, 2023
61648be
backfill legacyId if created during an update call
ThomasKranitsas Mar 20, 2023
5a1880a
Merge pull request #568 from topcoder-platform/fix/backfill-legacyId
ThomasKranitsas Mar 20, 2023
9552563
fix: timeline template patch
rakibansary Mar 20, 2023
4dff7ae
fix: chalelnge track update
rakibansary Mar 20, 2023
8d34d9d
fix: chalelnge track update
rakibansary Mar 20, 2023
35798a9
fix: bring back ensure project exists
rakibansary Mar 20, 2023
02fe3c4
fix: imports
rakibansary Mar 20, 2023
fe3b84c
fix: imports
rakibansary Mar 20, 2023
5adb999
add logging
ThomasKranitsas Mar 21, 2023
5fcfa29
Merge pull request #569 from topcoder-platform/fix/backfill-legacyId
ThomasKranitsas Mar 21, 2023
c6efe9c
fix: version bump
rakibansary Mar 21, 2023
8f276dc
fix: version bump
rakibansary Mar 21, 2023
9cb8b6d
fix: missing codeartifact env
rakibansary Mar 21, 2023
aded5f4
only update totalPrizes in overview if there are prizeSets
ThomasKranitsas Mar 21, 2023
d713fac
Merge pull request #570 from topcoder-platform/fix/backfill-legacyId
ThomasKranitsas Mar 21, 2023
bb99bf1
fix: dynamically choose es client
rakibansary Mar 21, 2023
d7ef555
fix: missing dependency
rakibansary Mar 21, 2023
d6a3f50
fix: es search
rakibansary Mar 21, 2023
fb2805c
fix: allow searching challenge-timeline-templates by date
rakibansary Mar 21, 2023
08d8038
fix: search using elasticsearc
rakibansary Mar 21, 2023
c4b820c
Merge branch 'refactor/domain-challenge' into refactor/domain-challen…
rakibansary Mar 21, 2023
4e11078
fix: date should be in iso-8601 format
rakibansary Mar 21, 2023
577d90b
fix: phases
rakibansary Mar 22, 2023
5b1bc09
fix: ensure metadata value is a string
rakibansary Mar 22, 2023
c1f8bee
fix: assigning metadata
rakibansary Mar 22, 2023
54f18e1
fix: enable indexing
rakibansary Mar 22, 2023
13aa9ad
feat: new phase logic
eisbilir Mar 22, 2023
d0862f9
fix: missing input
eisbilir Mar 22, 2023
017cfa5
Merge pull request #571 from topcoder-platform/feat/phase-logic-update
rakibansary Mar 23, 2023
9b68f91
fix: merge phase-helper updates
rakibansary Mar 23, 2023
e6d7ab4
fix: add undefined check
eisbilir Mar 23, 2023
a8d0301
fix: add m2m userId
eisbilir Mar 23, 2023
e062c36
refactor: challenge update
rakibansary Mar 23, 2023
07c66a0
Merge branch 'refactor/domain-challenge-dev' into refactor/challenge-…
rakibansary Mar 23, 2023
1fd1ea4
refactor: only update whats necessary in challenge:update
rakibansary Mar 23, 2023
396db36
ci: deploy to dev
rakibansary Mar 23, 2023
704f88d
fix: missing variables
rakibansary Mar 23, 2023
c44d4d4
fix: enable indexing and resource creation
rakibansary Mar 23, 2023
c1945c3
wip
rakibansary Mar 23, 2023
5e4b07f
feat: remove attributes that match exactly with saved challenge
rakibansary Mar 24, 2023
e70465e
refactor: challenge update
rakibansary Mar 24, 2023
8782f0e
fix: allow memberId to be a number
rakibansary Mar 24, 2023
e3d6dcd
fix: getM2MToken reference
eisbilir Mar 24, 2023
fa398ce
Merge pull request #572 from topcoder-platform/fix/getm2mtoken
rakibansary Mar 24, 2023
669c1b1
fix: winner can not be set for non tasks
rakibansary Mar 24, 2023
243b6e8
fix: remove hardcoded debug code
rakibansary Mar 24, 2023
06578d3
fix: unsetting winners
rakibansary Mar 24, 2023
68a7dfd
fix: phase update object
eisbilir Mar 24, 2023
80a4689
fix: allow private description to be empty
eisbilir Mar 24, 2023
99c8645
Merge pull request #573 from topcoder-platform/fix/phase-update
rakibansary Mar 24, 2023
f0f4dd7
fix: phases
eisbilir Mar 24, 2023
8375f2f
Merge pull request #574 from topcoder-platform/fix/phase-update
eisbilir Mar 24, 2023
3104444
chore: handle phase update
rakibansary Mar 24, 2023
b60daa8
validation updates
ThomasKranitsas Mar 25, 2023
28d1646
unset legacy.directProjectId as we do not allowe this to change
ThomasKranitsas Mar 25, 2023
33247ca
fix: bump up versions
rakibansary Mar 25, 2023
8ce4e02
fix: prize amount in cents
rakibansary Mar 26, 2023
1c4dd3a
Merge pull request #576 from topcoder-platform/fix/update-validation
rakibansary Mar 26, 2023
ae4c4e7
Merge pull request #578 from topcoder-platform/refactor/challenge-update
rakibansary Mar 26, 2023
f28085d
Merge pull request #579 from topcoder-platform/refactor/domain-challe…
rakibansary Mar 26, 2023
82b5754
fix: search by legacy id
rakibansary Mar 26, 2023
4b670c1
Merge pull request #580 from topcoder-platform/refactor/domain-challenge
rakibansary Mar 26, 2023
22740a3
fix: correctly unset direct project id
rakibansary Mar 26, 2023
ce1a622
Merge pull request #583 from topcoder-platform/feature/fix-crash
Gunasekar-K Mar 26, 2023
f896dc5
ci: deploy to dev
rakibansary Mar 26, 2023
90514c2
Merge pull request #584 from topcoder-platform/feature/fix-crash
Gunasekar-K Mar 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 57 additions & 40 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: 2
defaults: &defaults
docker:
- image: cimg/python:3.11.0-browsers
docker:
- image: cimg/python:3.11.0-browsers
install_dependency: &install_dependency
name: Installation of build and deployment dependencies.
command: |
Expand All @@ -13,7 +13,7 @@ install_dependency: &install_dependency
install_deploysuite: &install_deploysuite
name: Installation of install_deploysuite.
command: |
git clone --branch v1.4 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript
git clone --branch v1.4.14 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript
cp ./../buildscript/master_deploy.sh .
cp ./../buildscript/buildenv.sh .
cp ./../buildscript/awsconfiguration.sh .
Expand All @@ -23,60 +23,77 @@ restore_cache_settings_for_build: &restore_cache_settings_for_build
save_cache_settings: &save_cache_settings
key: docker-node-modules-{{ checksum "yarn.lock" }}
paths:
- node_modules
- node_modules

builddeploy_steps: &builddeploy_steps
- checkout
- setup_remote_docker
- run: *install_dependency
- run: *install_deploysuite
- restore_cache: *restore_cache_settings_for_build
- run: ./build.sh ${APPNAME}
- save_cache: *save_cache_settings
- deploy:
name: Running MasterScript.
command: |
./awsconfiguration.sh $DEPLOY_ENV
source awsenvconf
./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar
source buildenvvar
./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME}


- checkout
- setup_remote_docker
- run: *install_dependency
- run: *install_deploysuite
- restore_cache: *restore_cache_settings_for_build
- run:
name: "Authenticate with CodeArtifact and build docker image"
command: "./awsconfiguration.sh ${CODEARTIFACT_ENV}\nsource awsenvconf\naws codeartifact login --tool npm --repository topcoder-framework --domain topcoder --domain-owner $AWS_ACCOUNT_ID --region $AWS_REGION --namespace @topcoder-framework\ncp ~/.npmrc .\nrm -f awsenvconf \n./build.sh ${APPNAME}\n"
- save_cache: *save_cache_settings
- deploy:
name: Running MasterScript.
command: |
./awsconfiguration.sh $DEPLOY_ENV
source awsenvconf
./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar
source buildenvvar
./master_deploy.sh -d ECS -e $DEPLOY_ENV -t latest -s ${LOGICAL_ENV}-global-appvar,${LOGICAL_ENV}-${APPNAME}-appvar -i ${APPNAME}
jobs:
# Build & Deploy against development backend
"build-dev":
<<: *defaults
!!merge <<: *defaults
environment:
DEPLOY_ENV: "DEV"
LOGICAL_ENV: "dev"
APPNAME: "challenge-api"
APPNAME: "challenge-api"
CODEARTIFACT_ENV: "PROD"
steps: *builddeploy_steps

"build-qa":
!!merge <<: *defaults
environment:
DEPLOY_ENV: "QA"
LOGICAL_ENV: "qa"
APPNAME: "challenge-api"
CODEARTIFACT_ENV: "PROD"
steps: *builddeploy_steps

"build-prod":
<<: *defaults
!!merge <<: *defaults
environment:
DEPLOY_ENV: "PROD"
LOGICAL_ENV: "prod"
APPNAME: "challenge-api"
LOGICAL_ENV: "prod"
APPNAME: "challenge-api"
steps: *builddeploy_steps

workflows:
version: 2
build:
jobs:
# Development builds are executed on "develop" branch only.
- "build-dev":
context : org-global
filters:
branches:
only:
- dev
# Development builds are executed on "develop" branch only.
- "build-dev":
context: org-global
filters:
branches:
only:
- dev

- "build-qa":
context: org-global
filters:
branches:
only:
- refactor/domain-challenge

# Production builds are exectuted only on tagged commits to the
# master branch.
- "build-prod":
context : org-global
filters:
branches:
only: master
# Production builds are exectuted only on tagged commits to the
# master branch.
- "build-prod":
context: org-global
filters:
branches:
only: master
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.yarn

# Runtime data
pids
Expand Down Expand Up @@ -60,4 +61,5 @@ typings/

# next.js build output
.next
ecr-login.sh
.npmrc
3 changes: 3 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"printWidth": 100
}
8 changes: 5 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"editor.defaultFormatter": "standard.vscode-standard",
"standard.autoFixOnSave": true
}
"standard.autoFixOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ The following parameters can be set in config files or in env variables:
- ES.HOST: Elasticsearch host
- ES.API_VERSION: Elasticsearch API version
- ES.ES_INDEX: Elasticsearch index name
- ES.ES_TYPE: Elasticsearch index type
- ES.ES_REFRESH: Elasticsearch refresh method. Default to string `true`(i.e. refresh immediately)
- FILE_UPLOAD_SIZE_LIMIT: the file upload size limit in bytes
- RESOURCES_API_URL: TC resources API base URL
Expand Down
14 changes: 7 additions & 7 deletions app-bootstrap.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/**
* App bootstrap
*/
global.Promise = require('bluebird')
const Joi = require('joi')
global.Promise = require("bluebird");
const Joi = require("joi");

Joi.optionalId = () => Joi.string().uuid()
Joi.id = () => Joi.optionalId().required()
Joi.page = () => Joi.number().integer().min(1).default(1)
Joi.perPage = () => Joi.number().integer().min(1).max(100).default(20)
Joi.fileSize = () => Joi.number().integer().min(0).default(0)
Joi.optionalId = () => Joi.string().uuid();
Joi.id = () => Joi.optionalId().required();
Joi.page = () => Joi.number().integer().min(1).default(1);
Joi.perPage = () => Joi.number().integer().min(1).max(100).default(20);
Joi.fileSize = () => Joi.number().integer().min(0).default(0);
Loading