Skip to content
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

Make sure all Endaoment projects have been added to our DB #1751

Merged
merged 3 commits into from
Aug 7, 2024

Conversation

mohammadranjbarz
Copy link
Collaborator

@mohammadranjbarz mohammadranjbarz commented Aug 5, 2024

related to #1598 (comment)

Summary by CodeRabbit

  • New Features

    • Enhanced project slug generation and database interactions for improved consistency and readability.
    • Added a new descriptionSummary field to project entries for more detailed project descriptions.
  • Bug Fixes

    • Revised SQL queries to ensure correct handling of project categories and data consistency.
  • Chores

    • Updated project names in the data import file to include versioning for differentiation.
  • Documentation

    • Expanded filtering criteria in utilities to account for additional special characters in project titles.

@mohammadranjbarz mohammadranjbarz marked this pull request as ready for review August 6, 2024 07:20
Copy link
Contributor

coderabbitai bot commented Aug 6, 2024

Walkthrough

This update introduces crucial migration changes designed to enhance database interactions and improve project management functionalities. Key modifications include refined import paths, updated SQL logic for data insertion and deletion, and the introduction of utility functions for slug generation. Additionally, project names have been versioned by appending "2," and the character filtering for titles has been broadened. Overall, these enhancements support better code clarity, maintainability, and data integrity.

Changes

File(s) Change Summary
migration/1719740230650-add_endaoment_organization.ts Updated import paths for ORGANIZATION_LABELS and NETWORK_IDS to reflect directory restructuring; no functional changes made.
migration/1719808494903-create_endaoments_categories.ts Swapped name and value in the INSERT statement and updated the DELETE clause; affects data integrity and retrieval processes.
migration/1719808494904-add_endaoment_projects.ts Introduced utility functions for slug generation, added descriptionSummary to INSERT statement, and modified category ID retrieval logic.
migration/data/importedEndaomentProjects.ts Updated project names by appending "2" for versioning without altering other properties.
src/utils/utils.ts Expanded the filtering criteria in titleWithoutSpecialCharacters by adding the right single quotation mark.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Migration
    participant Database

    User->>Migration: Initiate project creation
    Migration->>Database: Insert project data with slug
    Database-->>Migration: Confirm insertion
    Migration->>User: Confirm project created
Loading

🐰 In fields of green where bunnies hop,
New slugs and names make our spirits pop!
With data refined and paths that align,
We celebrate changes, oh how they shine!
So let’s leap with joy, both big and small,
For these lovely updates, we cherish them all! 🌼✨


Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 09fab0a and f24d1e3.

Files selected for processing (1)
  • migration/1719808494904-add_endaoment_projects.ts (4 hunks)
Additional comments not posted (4)
migration/1719808494904-add_endaoment_projects.ts (4)

2-5: Verify the correctness of import paths.

Ensure that the paths for endaomentProjectCategoryMapping, endaomentProjects, NETWORK_IDS, and ReviewStatus are correct and the modules are available.

Verification successful

The import paths are correct.

The paths for endaomentProjectCategoryMapping, endaomentProjects, NETWORK_IDS, and ReviewStatus are valid and the modules are available.

  • migration/data/endaomentProjectCategoryMapping.ts
  • migration/data/importedEndaomentProjects.ts
  • src/provider.ts
  • src/entities/project.ts
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of imported modules.

# Test: Check if the files exist. Expect: All files to be found.
fd 'endaomentProjectCategoryMapping' --type f
fd 'importedEndaomentProjects' --type f
fd 'provider' --type f
fd 'project' --type f

Length of output: 8424


Line range hint 213-224:
Ensure the down method correctly reverts changes.

The down method should accurately revert the changes made by the up method, including deleting projects and related data.

Verification successful

The down method correctly reverts the changes made by the up method.

The down method accurately deletes the projects and project addresses associated with the Endaoment organization, ensuring proper rollback of changes.

  • File: migration/1719808494904-add_endaoment_projects.ts
  • Lines: 1-55
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the correctness of the `down` method.

# Test: Check if the `down` method correctly reverts changes. Expect: Proper deletion of projects and related data.
ast-grep --lang typescript --pattern $'async down(queryRunner: QueryRunner): Promise<void> { $$$ }'

Length of output: 582


Script:

#!/bin/bash
# Description: Verify the correctness of the `down` method.

# Test: Check if the `down` method correctly reverts changes. Expect: Proper deletion of projects and related data.
ast-grep --lang typescript --pattern $'function down(queryRunner: QueryRunner): Promise<void> { $$$ }'

Length of output: 103


Script:

#!/bin/bash
# Description: Verify the correctness of the `down` method.

# Test: Check if the `down` method correctly reverts changes. Expect: Proper deletion of projects and related data.

# Search for the `down` method in both `async` and non-`async` forms.
ast-grep --lang typescript --pattern $'async down(queryRunner: QueryRunner): Promise<void> { $$$ }' || \
ast-grep --lang typescript --pattern $'down(queryRunner: QueryRunner): Promise<void> { $$$ }'

Length of output: 1153


Script:

#!/bin/bash
# Description: Verify the correctness of the `down` method.

# Test: Check if the `down` method correctly reverts changes. Expect: Proper deletion of projects and related data.

# Search for the `down` method and include context lines to capture the surrounding code.
rg 'async down\(queryRunner: QueryRunner\): Promise<void>' -A 20

Length of output: 127608


91-94: Ensure the utility functions are correctly used.

The utility functions titleWithoutSpecialCharacters and creteSlugFromProject (typo noted) are used for slug generation. Ensure these functions are correctly implemented and return expected values.


Line range hint 117-142:
Ensure SQL queries handle special characters properly.

The SQL queries for inserting projects should handle special characters in project descriptions and titles to prevent SQL injection.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@mohammadranjbarz mohammadranjbarz requested review from CarlosQ96 and Meriem-BM and removed request for CarlosQ96 August 6, 2024 07:20
Copy link
Member

@Meriem-BM Meriem-BM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Comment on lines +7 to +9
creteSlugFromProject,
titleWithoutSpecialCharacters,
} from '../src/utils/utils';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the typo in the import statement.

The function creteSlugFromProject seems to have a typo. It should likely be createSlugFromProject.

-  creteSlugFromProject,
+  createSlugFromProject,
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
creteSlugFromProject,
titleWithoutSpecialCharacters,
} from '../src/utils/utils';
createSlugFromProject,
titleWithoutSpecialCharacters,
} from '../src/utils/utils';

Comment on lines +97 to +110
const getCategoryNames = (nteeCode: string): string[] => {
const mapping = endaomentProjectCategoryMapping.find(
category => category.nteeCode === nteeCode,
);
return mapping
? [
mapping.category1,
mapping.category2,
mapping.category3,
mapping.category4,
].filter(Boolean)
: [];
};
const categoryNames = getCategoryNames(String(project.nteeCode));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optimize the getCategoryNames function.

The getCategoryNames function could be optimized for better readability and performance.

const getCategoryNames = (nteeCode: string): string[] => {
  const mapping = endaomentProjectCategoryMapping.find(
    category => category.nteeCode === nteeCode,
  );
  return mapping
    ? [mapping.category1, mapping.category2, mapping.category3, mapping.category4].filter(Boolean)
    : [];
};
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const getCategoryNames = (nteeCode: string): string[] => {
const mapping = endaomentProjectCategoryMapping.find(
category => category.nteeCode === nteeCode,
);
return mapping
? [
mapping.category1,
mapping.category2,
mapping.category3,
mapping.category4,
].filter(Boolean)
: [];
};
const categoryNames = getCategoryNames(String(project.nteeCode));
const getCategoryNames = (nteeCode: string): string[] => {
const mapping = endaomentProjectCategoryMapping.find(
category => category.nteeCode === nteeCode,
);
return mapping
? [mapping.category1, mapping.category2, mapping.category3, mapping.category4].filter(Boolean)
: [];
};
const categoryNames = getCategoryNames(String(project.nteeCode));

@mohammadranjbarz mohammadranjbarz merged commit f6eb385 into staging Aug 7, 2024
5 checks passed
@mohammadranjbarz mohammadranjbarz deleted the fix_import_endaoment_projects branch August 7, 2024 10:12
mohammadranjbarz added a commit that referenced this pull request Aug 11, 2024
* update qfRoundResolver.ts with new estimated matching structure

* update qfUtils.ts with new estimated matching structure

* add verified status

* add minimumPassportScore to getProjectQfRoundStats

* add check for begin and end date to getProjectQfRoundStats

* remove refreshProjectEstimatedMatchingView from tests

* fix qfRoundRepository.test.ts tests

* remove qfRound stats from projects when added or removed from QF round

* update added projects only

* update added projects only

* optimize refreshProjectEstimatedMatchingView

* set NODE_ENV for refreshProjectEstimatedMatchingView

* merge getQfRoundUniqueDonors and getQfRoundTotalDonations

* fix adding valueUsd to query

* add userQfRoundModelScore

* remove minimumPassportScore from getProjectQfRoundStats

* remove user join from getProjectQfRoundStats

* remove insertDonationsFromQfRoundHistory from syncDonationStatusWithBlockchainNetwork

* enable replica

* projectVerificationRepository.ts replace .save with update method

* projectVerificationRepository.ts replace .save with update method

* remove unused fields from logs

* remove user from badge warning

* optimize projectsWithoutUpdateAfterTimeFrame

* Zkevm integration (#1635)

* Integrate with zkevm chain

related to #1617 #1615 #1618 #1619 #1614 #1620

* Add coingeckoId for wbtc zkevm token

* Fix lint errors

* Remove duplicate keys in provider.ts

* Fix AAve token on zkevm chain

* fix merge conflicts

* add projectId to projectRepository.ts

* remove unnecessary updatedAt

* fix: get unique_donors based on user wallet address not added to sybil table

* add cache to findActiveQfRound

* Add on conflicrt do nothing for add zkevm tokens

* Fix add polygon zkevm token migration

* remove updateTotalDonationsOfProject from migrations

* replace updateTotalDonationsOfProject with updateProjectStatistics

* replace updateTotalDonationsOfProject with updateProjectStatistics

* remove sumDonationValueUsd from project

* do email verification on project verification form through Ortto

* add solana to available networks for qfround

* remove knownAsSybilAddress from user

* wrong query cache in some functions

* User Story - Rejected project owner reason

* use networkId instead of optimism-only flag (#1653)

* Use networkId instead of optimismOnly flag

* Update graphql queries for tests

* fatal errors (#1640)

* change critical error logs to fatal

* add fatal log for donation verification failure with time threshold

* added on final step for verification project data

* Replace ortto External Embedded Webform for Onboarding guide

* fix: findArchivedQfRounds query

* fix subscribeOnboarding args

* change output to boolean

* WIP: add API key to request & add fetch MBD score record from DB

* fixed last step verification

* fixed typo

* WIP: add field to user that holds user MBD score for an active round

* disable DB Replica on staging

* fetch data uere with the score from MBD & remove non needed query

* Fix some test cases about stable coin donations

* fix: issue with adminJs authentication when user has hash as null

* "Last Update" on project card is not correct

* Fix some test cases about stable coin donations (#1665)

* Fix some test cases about stable coin donations

* Fix few test cases of projectResolver

* Fix few test cases of projectResolver

* Fix test cases of project resolver

* Fix donationResolver test cases

* Bump follow-redirects from 1.15.5 to 1.15.6 (#1414)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mohammadranjbarz <[email protected]>

* Bump @solana/web3.js from 1.87.6 to 1.87.7 (#1492)

Bumps [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) from 1.87.6 to 1.87.7.
- [Release notes](https://github.com/solana-labs/solana-web3.js/releases)
- [Commits](https://github.com/solana-labs/solana-web3.js/commits)

---
updated-dependencies:
- dependency-name: "@solana/web3.js"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mohammadranjbarz <[email protected]>

* Bump express from 4.18.2 to 4.19.2 (#1430)

Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mohammadranjbarz <[email protected]>

* Bump braces from 3.0.2 to 3.0.3 (#1629)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mohammadranjbarz <[email protected]>

* Bump undici from 5.28.3 to 5.28.4 (#1454)

Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mohammadranjbarz <[email protected]>

* fix types

* Updated project verification form resolver test

fixed previos 3 test with terms and condition update and added one last step test when user complete form and clicked "FINISH" button

* fix extracting last comment

* get donation to giveth with donation box analytics (#1661)

* Add a method for finding relevant donations to the donationRepository.ts

* Add a method for calculating donations metrics to the donationService.ts

* Add a gql resolver for donations metrics to the donationResolver.ts

* Add unit test for gql query resolver

* Fix division by zero issue

* times 100 average percentage to represent percent

* add useDonationBox field to donation and draftDonation

* fill useDonationBox field with correct data in migrations

* Change donationMetrics endpoint based on change in data schema

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add false removed imports

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix tests based on changes

* fix tests

* send useDonationBox as last arg and make it optional

* add relevant donation tx hash to donation creation flow

* calculate related donations based on relevant donation tx hash

* add unit tests

* update unit test

* fix bug

* fix bug in donation repository and tests are pass

* Clear All donations after donation metrics test cases

* Add new function for deleting project from db and use it to don't affect other test cases

* comment new test cases to ensure bug is related to that or not

* Clear donations after tests

* Comments new test cases in donationRepository.test.ts

* uncomment tests and Clean up test effects on DB

* Remove project addresses too

* Add a new method to testUtils.ts for removing project from db by id

* change donation dates to now

* Remove clear donations sections

* Change update count to a bigger number to pass test

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add test for fetching and refreshing qfroundscore for model

* revert changes on package,json

* revert changes on package,json

* fix migration error

* fix migration error

* fix: turn minimumValidUsdValue to nullable when querying

* remove updatedAt from projects tab

* Remove old donation and add new ones (#1674)

* remove verified from projects tab edit menu

* remove verified from projectVerificationTab edit menu

* fix total donations query

* fix archived_round totals

* fix latestUpdate column if not exists

* fix join for totals

* fix total donations with subquery

* fix add some error handling and remove commented interface

* fix: resolve conflict

* fix: resolve conflict

* fix USD value not showing

* fix: convert timestap retrieved from RPC provider to milisconds

* fix: donation test cases (milliseconds)

* fix: donation test cases (milliseconds)

* Endaoment integration (#1663)

* Remove giving block projects that don't have any donation

related to #1599

* Add needed fields to organization entity for endaoment projects

related to Giveth/Roadmap#111

* Remove giving-blocks stuff and endaoment integration thing

* Add categories to endaoment projects

* Fix test cases

* Fix some test cases about stable coin donations

* Add endaoment categories

* Fix remove giving-blocks projects migration

* Add default image for endaoment projects

* Fix linter

* Fix add useDonationBox to draft_donation migration

* Fix migration of adding useDonationBox to donation

* Fix eslint error

* Fix disabling recurring donations for endaoment projects

* Change givingBlock organization to endaoment in pre-test script

* Remove test case of accepted tokens of giving blocks

* Relate all base, optimism and mainnet tokens to endaoment organization

related to #1626

* Fix migration query syntax

* fix: donation test cases (milliseconds)

* fix: donation test cases (milliseconds)

* Modify ormconfig for running migrations

* Run ts files for migrations

* Make isRecipient of project_addresses of endaoment project true

* Fix type error of one of endaoment projects

* add test case for filling prices

* Modify add endaoment organization migration to pass the tests

* fix: convert minimumUserAnalysisScore to Float on qfRound entity

* fix: revert migration changes

* add log for filling prices

* feat: add github on project socialmedia enum

* Merge master to staging (#1696)

* Release relevant donations (#1687)

* get donation to giveth with donation box analytics (#1661)

* Add a method for finding relevant donations to the donationRepository.ts

* Add a method for calculating donations metrics to the donationService.ts

* Add a gql resolver for donations metrics to the donationResolver.ts

* Add unit test for gql query resolver

* Fix division by zero issue

* times 100 average percentage to represent percent

* add useDonationBox field to donation and draftDonation

* fill useDonationBox field with correct data in migrations

* Change donationMetrics endpoint based on change in data schema

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add false removed imports

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix tests based on changes

* fix tests

* send useDonationBox as last arg and make it optional

* add relevant donation tx hash to donation creation flow

* calculate related donations based on relevant donation tx hash

* add unit tests

* update unit test

* fix bug

* fix bug in donation repository and tests are pass

* Clear All donations after donation metrics test cases

* Add new function for deleting project from db and use it to don't affect other test cases

* comment new test cases to ensure bug is related to that or not

* Clear donations after tests

* Comments new test cases in donationRepository.test.ts

* uncomment tests and Clean up test effects on DB

* Remove project addresses too

* Add a new method to testUtils.ts for removing project from db by id

* change donation dates to now

* Remove clear donations sections

* Change update count to a bigger number to pass test

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Remove old donation and add new ones (#1674)

* Remove unused variable

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* release analytics dashboard dropdown menu related chagnes (#1686)

* use networkId instead of optimism-only flag (#1653)

* Use networkId instead of optimismOnly flag

* Update graphql queries for tests

* Change network id to float in gql schema to fix unit tests

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Add organization filter to projectsTab.ts in admin panel

related to #1599 (comment)

* Fill description summary for endaoment projects

related to #1599 (comment)

* Fix eslint errors

* Replace special characters of slugs of endaoment projects with -

related to Giveth/giveth-dapps-v2#4280 (comment)

* Fix eslint errors

* return hardcoded  as user MBD score

* rename qfRound minimumUserAnalysisScore field

* Resolve conflicts (#1703)

* Release relevant donations (#1687)

* get donation to giveth with donation box analytics (#1661)

* Add a method for finding relevant donations to the donationRepository.ts

* Add a method for calculating donations metrics to the donationService.ts

* Add a gql resolver for donations metrics to the donationResolver.ts

* Add unit test for gql query resolver

* Fix division by zero issue

* times 100 average percentage to represent percent

* add useDonationBox field to donation and draftDonation

* fill useDonationBox field with correct data in migrations

* Change donationMetrics endpoint based on change in data schema

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* remove unused import

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* add false removed imports

* add default value for useDonationBox field

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix tests based on changes

* fix tests

* send useDonationBox as last arg and make it optional

* add relevant donation tx hash to donation creation flow

* calculate related donations based on relevant donation tx hash

* add unit tests

* update unit test

* fix bug

* fix bug in donation repository and tests are pass

* Clear All donations after donation metrics test cases

* Add new function for deleting project from db and use it to don't affect other test cases

* comment new test cases to ensure bug is related to that or not

* Clear donations after tests

* Comments new test cases in donationRepository.test.ts

* uncomment tests and Clean up test effects on DB

* Remove project addresses too

* Add a new method to testUtils.ts for removing project from db by id

* change donation dates to now

* Remove clear donations sections

* Change update count to a bigger number to pass test

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Remove old donation and add new ones (#1674)

* Remove unused variable

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* release analytics dashboard dropdown menu related chagnes (#1686)

* use networkId instead of optimism-only flag (#1653)

* Use networkId instead of optimismOnly flag

* Update graphql queries for tests

* Change network id to float in gql schema to fix unit tests

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Modify endaoment categories and relate them to projects

related to #1664 (comment)

* Add canUseOnFrontend to category so can show a category but don't allow users to select them when create/update projects

related to #1685

* Fix project resolver test case

* feat: add tacking recurring donations queries

* fix: delete unwanted recurring donation test cases

* fix CPU spikes

* add new test case for project update

* fix test case

* Fix add endaoment integration

* Filter isActive and canUseOnFrontend categories in projectResolver

* Filter isActive and canUseOnFrontend categories in projectResolver

* Return canUseOnFrontend in main category list

* optimize projectUpdates query

* Comment migrations related to endaoment (#1706)

* 1.24.0

* Test ci/cd

* Fix build problem

* optimize projectUpdates endpoint

* optimize projectUpdates endpoint - add cache

* add dynamic field selection

* add a default value for etc mordor url (#1709)

* Remove redundant backslash

* fix test cases

* feat: add per token data for recurring donations statistcs (pie chart - dashboard analytics)

* Change commands to run migrations as js (#1714)

* Change commands to run migrations as js

* Remove unnecessary mkdir steps from build command in package.json

* Fix migrations address in ormconfig.ts

* Fix build command (#1715)

* make config directory and the copy the configs

* Add -p option to mkdir command

* Check config directory existing and then copy content to it

* Revert migration changes (#1717)

* Revert "Check config directory existing and then copy content to it"

This reverts commit 1fb9fa2.

* Revert "Fix build command (#1715)"

This reverts commit 4b570a7.

* Revert "Change commands to run migrations as js (#1714)"

This reverts commit 18f3239.

* Optimise relevant donation flow (#1698)

* Add migrations to add donation percentage and fill it

* Add donation percentage and use it in donation metrics calculation

* Fix bug in converting to number

* Fix bug unit test

* Add donation percentage to test data to correctly calculate donation metrics

* remove giveth old project to fix the test

* Apply review changes

* Skip heavy migrations related to relevantDonations on test environment to speedup pipelines

* Fix typo

* change argument name

* Fix tests based on changes

* fix: minimumPassportScore issue when tapping float number on adminJS

* Add index to useDonationBox field (#1723)

* Run migrations as js files (#1718)

* Change commands to run migrations as js

* Remove unnecessary mkdir steps from build command in package.json

* Fix migrations address in ormconfig.ts

* Change build command to work correctly if config folder is not exists

* Revert "Run migrations as js files (#1718)" (#1724)

This reverts commit 015e383.

* Which tokens are used the most on each chain by unique donors

* change getDonationStats to typeorm

* update Bull

* Use raw select query instead of find function from typeorm (#1729)

* gitcoin API update

* gitcoin API update

* gitcoin API update

* Add all network labels in admin panel, project tab

* Fix eslint errors

* added graphql query to fetch recurring donations by date adn project id

* fixed lint

* Add all network labels in admin panel, project tab

* allow to download email addresses

* fix: returning QF tag to the user bookmarked projects

* removed unnecessary ql fields

* added test cases for recurring donations by date resolver

* Make sure all Endaoment projects have been added to our DB (#1751)

* Make sure all Endaoment projects have been added to our DB

related to #1598 (comment)

* Fix eslint errors

* Add appropriate banner images for imported endaoment projects

related to #1600 (comment)

* Add on conflict do nothing for create endaoment organization migration

* Make organizationId serial if it's not already

* Fix eslint errors

* Fix add endaoment organization migration

* Fix eslint errors

* Comment run migrations on production ci

* Fix categories of endaoment projects

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Ramin <[email protected]>
Co-authored-by: Carlos <[email protected]>
Co-authored-by: Meriem-BM <[email protected]>
Co-authored-by: Ali Ebrahimi <[email protected]>
Co-authored-by: kkatusic <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CarlosQ96 <[email protected]>
Co-authored-by: Reshzera <[email protected]>
Co-authored-by: ali ebrahimi <[email protected]>
Co-authored-by: Lovel George <[email protected]>
This was referenced Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants