diff --git a/packages/api/src/controllers/v2/community/details.ts b/packages/api/src/controllers/v2/community/details.ts index 7e0457b6e..12dea2bcc 100644 --- a/packages/api/src/controllers/v2/community/details.ts +++ b/packages/api/src/controllers/v2/community/details.ts @@ -132,7 +132,8 @@ class CommunityController { }; count = (req: Request, res: Response) => { - const { groupBy, status, excludeCountry } = req.query; + const { groupBy, status, excludeCountry, ambassadorAddress } = + req.query; if (groupBy === undefined) { standardResponse(res, 400, false, '', { error: { @@ -146,7 +147,8 @@ class CommunityController { .count( groupBy as string, status as string, - excludeCountry as string + excludeCountry as string, + ambassadorAddress as string ) .then((r) => standardResponse(res, 200, true, r)) .catch((e) => standardResponse(res, 400, false, '', { error: e })); diff --git a/packages/api/src/routes/v2/community/details.ts b/packages/api/src/routes/v2/community/details.ts index 5d4b52e1e..eb2df08d6 100644 --- a/packages/api/src/routes/v2/community/details.ts +++ b/packages/api/src/routes/v2/community/details.ts @@ -34,6 +34,12 @@ export default (route: Router): void => { * required: false * description: community status * - in: query + * name: ambassadorAddress + * schema: + * type: string + * required: false + * description: filter communities by ambassadors + * - in: query * name: excludeCountry * schema: * type: string diff --git a/packages/core/src/services/app/user/index.ts b/packages/core/src/services/app/user/index.ts index 5357e6be0..870c69749 100644 --- a/packages/core/src/services/app/user/index.ts +++ b/packages/core/src/services/app/user/index.ts @@ -526,7 +526,7 @@ export default class UserService { where: { status: 'pending', requestByAddress: address, - } + }, }); if (pendingCommunity) roles.push('pendingManager'); diff --git a/packages/core/src/services/ubi/community/contract.ts b/packages/core/src/services/ubi/community/contract.ts index a5dca9b0d..ca34a2597 100644 --- a/packages/core/src/services/ubi/community/contract.ts +++ b/packages/core/src/services/ubi/community/contract.ts @@ -12,7 +12,13 @@ export default class CommunityContractService { contractParams: ICommunityContractParams, t: Transaction | undefined = undefined ): Promise { - let { claimAmount, maxClaim, decreaseStep, baseInterval, incrementInterval } = contractParams; + const { + claimAmount, + maxClaim, + decreaseStep, + baseInterval, + incrementInterval, + } = contractParams; return models.ubiCommunityContract.create( { @@ -31,7 +37,13 @@ export default class CommunityContractService { communityId: number, contractParams: ICommunityContractParams ): Promise { - let { claimAmount, maxClaim, decreaseStep, baseInterval, incrementInterval } = contractParams; + const { + claimAmount, + maxClaim, + decreaseStep, + baseInterval, + incrementInterval, + } = contractParams; const community = (await models.community.findOne({ attributes: ['publicId'], @@ -39,16 +51,19 @@ export default class CommunityContractService { }))!; try { await sequelize.transaction(async (t) => { - await models.ubiCommunityContract.update({ - claimAmount: claimAmount as number, - maxClaim: maxClaim as number, - decreaseStep: decreaseStep as number, - baseInterval, - incrementInterval, - }, { - where: { communityId }, - transaction: t, - }); + await models.ubiCommunityContract.update( + { + claimAmount: claimAmount as number, + maxClaim: maxClaim as number, + decreaseStep: decreaseStep as number, + baseInterval, + incrementInterval, + }, + { + where: { communityId }, + transaction: t, + } + ); // TODO: migrate await models.ubiRequestChangeParams.destroy({ diff --git a/packages/core/src/services/ubi/community/details.ts b/packages/core/src/services/ubi/community/details.ts index 08ff0dc1c..1787dd645 100644 --- a/packages/core/src/services/ubi/community/details.ts +++ b/packages/core/src/services/ubi/community/details.ts @@ -709,7 +709,8 @@ export class CommunityDetailsService { public async count( groupBy: string, status?: string, - excludeCountry?: string + excludeCountry?: string, + ambassadorAddress?: string ): Promise { let groupName = ''; switch (groupBy) { @@ -736,6 +737,12 @@ export class CommunityDetailsService { status, }; } + if (ambassadorAddress) { + where = { + ...where, + ambassadorAddress, + }; + } if (excludeCountry) { const countries = excludeCountry.split(';'); diff --git a/packages/core/src/services/ubi/community/list.ts b/packages/core/src/services/ubi/community/list.ts index bc9866d95..dfb7197f9 100644 --- a/packages/core/src/services/ubi/community/list.ts +++ b/packages/core/src/services/ubi/community/list.ts @@ -239,18 +239,19 @@ export class CommunityListService { orderOption.length === 0 && !orderOutOfFunds.active ) { - beneficiariesState = await this._communityEntities( - 'beneficiaries', - { - status: query.status, - limit: query.limit, - offset: query.offset, - }, - extendedWhere, - orderType - ); - contractAddress = beneficiariesState!.map((el) => - ethers.utils.getAddress(el.id) + beneficiariesState = + await this._communityEntities( + 'beneficiaries', + { + status: query.status, + limit: query.limit, + offset: query.offset, + }, + extendedWhere, + orderType + ); + contractAddress = beneficiariesState!.map( + (el) => ethers.utils.getAddress(el.id) ); } else { // list communities beneficiaries after