handlers/sf-gocardless-sync/cfn.yaml (5 lines): - line 82: MemorySize: 1536 # TODO review this amount of memory is required - line 96: ScheduleExpression: "rate(5 minutes)" # TODO consider more sophisticated cron schedule (to reduce api calls) - line 146: # TODO add metric events processed filter and mandate records created filter (with alarm if this drops below certain threshold per 12 hours) - line 148: # TODO add 'StoppedRunning' alarm based on existing Invocations metric - line 150: # TODO add a 'SocketTimeoutException' alarm if occurs more than 3 times in a row lib/credit-processor/src/main/scala/com/gu/creditprocessor/Processor.scala (4 lines): - line 191: // FIXME: Temporary test in production to validate migration to https://github.com/guardian/invoicing-api/pull/20 - line 242: subscriptionUpdate <- updateToApply(creditProduct, subscription, account, request) // FIXME: Deprecated - line 244: // FIXME: nextInvoiceDate <- getNextInvoiceDate(subscription.subscriptionNumber) - line 245: // FIXME: subscriptionUpdate <- SubscriptionUpdate(creditProduct(subscription), subscription, account, request.publicationDate, Some(InvoiceDate(nextInvoiceDate))) handlers/delivery-problem-credit-processor/src/main/scala/com/gu/deliveryproblemcreditprocessor/DeliveryCreditProcessor.scala (3 lines): - line 117: // TODO: this isn't actually used so could be optional in the credit processor - line 198: * TODO: doing this at this level to avoid having to rewrite holiday-stop credit query as well. - line 244: * TODO: doing this at this level to avoid having to rewrite holiday-stop credit query as well. handlers/product-move-api/src/main/scala/com/gu/productmove/endpoint/available/AvailableProductMovesEndpoint.scala (3 lines): - line 144: ) // TODO add code to return 404 rather than 500 if it's not found - line 248: currency = Currency.GBP, //FIXME doesn't make sense for a percentage - line 249: frequency = None, //FIXME doesn't make sense for a percentage handlers/batch-email-sender/src/main/scala/com/gu/batchemailsender/api/batchemail/Handler.scala (3 lines): - line 30: // FIXME: What should be the behaviour with some/all items having parsing errors? - line 51: if (invalidSalesforceBatchItems.nonEmpty) { // FIXME: This is not hooked up to a response code which means emails might be silently dropped - line 53: s"Some batch items sent from Salesforce had parsing errors: $invalidSalesforceBatchItems. FIXME: These emails are silently dropped!", lib/holiday-stops/src/main/scala/com/gu/salesforce/holiday_stops/SalesforceHolidayStopRequest.scala (2 lines): - line 166: SF_Subscription__c: SFSubscriptionId, // TODO attempt to reinstate the __r with SubscriptionNameLookup approach (so it can be reused in back-fill without sep. lookup call first - line 187: ) // FIXME refactor this to map None to ClientFailure rather than nasty .get build.sbt (2 lines): - line 100: handler, // TODO only for the config, which needs to be split out - line 122: handler, // % "test->test" TODO make this dep only in test - SF client shouldn't depends on ApiGateway handlers/sf-contact-merge/src/main/scala/com/gu/sf_contact_merge/update/UpdateAccountSFLinks.scala (1 line): - line 54: ) // TODO danger - we shoudn't go building urls with string concatenation! lib/zuora-core/src/main/scala/com/gu/zuora/subscription/SubscriptionData.scala (1 line): - line 11: // FIXME: We need to make sure credit calculation goes through a single code path. Right now onus is on the user to make sure discounts are applied to credit. handlers/zuora-callout-apis/src/main/scala/com/gu/autoCancel/AutoCancelDataCollectionFilter.scala (1 line): - line 69: /** TODO invoice.balance > 0 may not be necessary as the trigger is on Invoice payment overdue event but i am not handlers/zuora-callout-apis/src/main/scala/com/gu/autoCancel/AutoCancel.scala (1 line): - line 29: // TODO to refactor it should not call head handlers/digital-subscription-expiry/src/main/scala/com/gu/digitalSubscriptionExpiry/zuora/GetSubscriptionExpiry.scala (1 line): - line 58: ) // FIXME remove after Coronavirus handlers/sf-datalake-export/src/main/scala/com/gu/sf_datalake_export/salesforce_bulk_api/SfQueries.scala (1 line): - line 198: // TODO BillingAccount__c doesn't exist ? handlers/fulfilment-date-calculator/src/main/scala/com/gu/supporter/fulfilment/GuardianWeekly.scala (1 line): - line 64: // TODO: Take into account bank holidays handlers/holiday-stop-processor/src/main/scala/com/gu/holidaystopprocessor/ZuoraHolidayCreditAddResult.scala (1 line): - line 28: // FIXME: Temporary logging to confirm the problem of incorrect credits is fixed. Change to hard crash once we are happy it should be impossible scenario. handlers/product-move-api/src/main/scala/com/gu/productmove/endpoint/move/ProductMoveEndpoint.scala (1 line): - line 169: .service[SubscriptionUpdate] // TODO convert the rest of the custom layers into normal params handlers/stripe-webhook-endpoints/src/main/scala/com/gu/paymentIntentIssues/Lambda.scala (1 line): - line 49: // TODO: alarm lib/zuora-core/src/main/scala/com/gu/zuora/subscription/Failures.scala (1 line): - line 10: /** FIXME: Current implementation is not atomic, so how should we handle inconsistent state cleanup? FIXME: Improve handlers/fulfilment-date-calculator/src/main/scala/com/gu/supporter/fulfilment/BankHoliday.scala (1 line): - line 39: // TODO log error and perhaps alert on serving multi-day stale bank hols file handlers/stripe-webhook-endpoints/src/main/scala/com/gu/stripeCardUpdated/zuora/CreatePaymentMethod.scala (1 line): - line 32: // FIXME create WireRequest/Response and converter layer to replace the custom writes and reads handlers/sf-gocardless-sync/src/main/scala/com/gu/sf_gocardless_sync/salesforce/SalesforceDDMandate.scala (1 line): - line 124: Zuora__BankTransferAccountNumber__c: String, // TODO use this to check against the one from GoCardless handlers/digital-subscription-expiry/src/main/scala/com/gu/digitalSubscriptionExpiry/responses/DigitalSubscriptionResponseModels.scala (1 line): - line 24: //TODO do we need these? also do we need to return all the hardcoded values that cas returns? handlers/batch-email-sender/src/main/scala/com/gu/batchemailsender/api/batchemail/BrazeSqsMessage.scala (1 line): - line 10: * FIXME: For some reason this has to have flat structure? handlers/batch-email-sender/src/main/scala/com/gu/batchemailsender/api/batchemail/SalesforceMessage.scala (1 line): - line 11: // FIXME: What is this? handlers/stripe-webhook-endpoints/src/main/scala/com/gu/stripeCardUpdated/zuora/ZuoraQueryPaymentMethod.scala (1 line): - line 22: // FIXME create WireRequest/Response and converter layer to replace the custom writes and reads handlers/zuora-callout-apis/src/main/scala/com/gu/autoCancel/GetPaymentData.scala (1 line): - line 26: // TODO payment failure may be subjected to invoice that have multiple items not only one lib/zuora-core/src/main/scala/com/gu/zuora/Zuora.scala (1 line): - line 149: subName: String, /* FIXME: temporary to follow up if retry was safe */ handlers/batch-email-sender/src/main/scala/com/gu/batchemailsender/api/batchemail/SalesforceToBrazeCampaignMapping.scala (1 line): - line 7: // FIXME: Yet another useless indirection. handlers/user-benefits/src/benefitsMe.ts (1 line): - line 16: const authenticate = buildAuthenticate(stage, []); //TODO: Do we have any required scopes? lib/handler/src/main/scala/com/gu/util/config/ConfigModels.scala (1 line): - line 34: // TODO: Can we get rid of this class? handlers/sf-gocardless-sync/src/main/scala/com/gu/sf_gocardless_sync/gocardless/GoCardlessDDMandateEvent.scala (1 line): - line 111: s"$gcEventsBaseUrl&limit=1&created_at[lte]=2015-08-25T13:13:56.000Z", // TODO make this timestamp configurable handlers/stripe-webhook-endpoints/src/main/scala/com/gu/stripeCardUpdated/zuora/SetDefaultPaymentMethod.scala (1 line): - line 12: // FIXME create WireRequest and converter layer to replace the custom writes handlers/generate-product-catalog/src/index.ts (1 line): - line 20: //TODO: take this from the CDK definition handlers/zuora-callout-apis/src/main/scala/com/gu/util/zuora/ZuoraGetAccountSubscriptions.scala (1 line): - line 12: // TODO setting here to 40, consider changing that value in the future lib/zuora-core/src/main/scala/com/gu/zuora/ZuoraProductTypes.scala (1 line): - line 6: // TODO this structure is duplicated in zuora-models "ProductType.scala", since zuora-models has no dependencies it should be imported here instead lib/zuora/src/main/scala/com/gu/util/zuora/ZuoraRestRequestMaker.scala (1 line): - line 19: baseUrl = config.baseUrl + "/", // TODO shouldn't have to add it