├── scripts ├── apex │ ├── output.log │ └── scratch.apex ├── bash │ ├── config-sf.sh │ ├── diagnose.sh │ ├── invoke-lambda-func.sh │ ├── config-github-bot.sh │ ├── create-sfdx-auth-file.sh │ ├── save-deployment.sh │ ├── config-aws.sh │ └── get-deployment.sh ├── typescript │ └── models │ │ ├── salesforce-response.d.ts │ │ ├── query-response.d.ts │ │ ├── hardis-duplicate-response.d.ts │ │ └── org-display-response.d.ts ├── soql │ └── scratch.soql └── js │ └── install-moxygen.js ├── CODEOWNERS ├── .prettierrc.json ├── docs ├── MoxygenUML.jpg └── apexdocs │ ├── soql-engine │ ├── MockSOQLHandler.md │ ├── ILimitHandler.md │ ├── IOffsetHandler.md │ ├── ISelectHandler.md │ ├── AbstractSyntaxTreeWithQuery.md │ ├── IdFieldComparator.md │ ├── PrimitiveParserFactory.md │ ├── Parser.md │ ├── IDateFunc.md │ ├── InHandler.md │ ├── LikeHandler.md │ ├── OperatorHandlerFactory.md │ ├── DateFuncFactory.md │ ├── IOperatorHandler.md │ ├── NotInHandler.md │ ├── EqualityHandler.md │ ├── ExcludesHandler.md │ ├── InequalityHandler.md │ └── DateFuncs.md │ ├── utilities │ ├── NotFoundException.md │ ├── ValidationException.md │ ├── OrganizationSingleton.md │ ├── TypeOf.md │ ├── fflib_IDGenerator.md │ └── ParsingException.md │ ├── dml-engine │ └── MockDMLHandler.md │ └── moxygen │ └── Types.md ├── .husky └── pre-commit ├── .gitignore ├── moxygen └── main │ └── default │ ├── classes │ ├── mox │ │ ├── DML.cls-meta.xml │ │ ├── ORM.cls-meta.xml │ │ ├── DMLTest.cls-meta.xml │ │ ├── Selector.cls-meta.xml │ │ ├── Types.cls-meta.xml │ │ ├── Aggregate.cls-meta.xml │ │ ├── SelectorTest.cls-meta.xml │ │ └── Types.cls │ ├── database │ │ ├── Token.cls-meta.xml │ │ ├── DataStore.cls-meta.xml │ │ ├── DataStoreTest.cls-meta.xml │ │ ├── MockDatabase.cls-meta.xml │ │ ├── MockDatabaseTest.cls-meta.xml │ │ ├── dml-engine │ │ │ ├── DmlEngine.cls-meta.xml │ │ │ └── mock-dml-handlers │ │ │ │ ├── MockDMLHandler.cls-meta.xml │ │ │ │ ├── MockDeleteHandler.cls-meta.xml │ │ │ │ ├── MockInsertHandler.cls-meta.xml │ │ │ │ ├── MockUndeleteHandler.cls-meta.xml │ │ │ │ ├── MockUpdateHandler.cls-meta.xml │ │ │ │ ├── MockUpsertHandler.cls-meta.xml │ │ │ │ └── SaveResultService │ │ │ │ └── SaveResultService.cls-meta.xml │ │ └── soql-engine │ │ │ ├── SoqlEngine.cls-meta.xml │ │ │ ├── node │ │ │ ├── Node.cls-meta.xml │ │ │ ├── NodeBuilder.cls-meta.xml │ │ │ ├── NodeService.cls-meta.xml │ │ │ ├── NodeTest.cls-meta.xml │ │ │ ├── NodeType.cls-meta.xml │ │ │ ├── TopLevelNodes.cls-meta.xml │ │ │ └── NodeTest.cls │ │ │ ├── parser │ │ │ ├── Parser.cls-meta.xml │ │ │ ├── Intermediary.cls-meta.xml │ │ │ ├── ParserTest.cls-meta.xml │ │ │ ├── sub-parser │ │ │ │ ├── AliasParser.cls-meta.xml │ │ │ │ ├── FieldParser.cls-meta.xml │ │ │ │ ├── FromParser.cls-meta.xml │ │ │ │ ├── GroupByParser.cls-meta.xml │ │ │ │ ├── HavingParser.cls-meta.xml │ │ │ │ ├── LimitParser.cls-meta.xml │ │ │ │ ├── OffsetParser.cls-meta.xml │ │ │ │ ├── OrderByParser.cls-meta.xml │ │ │ │ ├── ParserUtils.cls-meta.xml │ │ │ │ ├── QueryParser.cls-meta.xml │ │ │ │ ├── SObjectParser.cls-meta.xml │ │ │ │ ├── ScopeParser.cls-meta.xml │ │ │ │ ├── SelectParser.cls-meta.xml │ │ │ │ ├── SubParser.cls-meta.xml │ │ │ │ ├── ValueParser.cls-meta.xml │ │ │ │ ├── WhereParser.cls-meta.xml │ │ │ │ ├── AliasParserTest.cls-meta.xml │ │ │ │ ├── FieldListParser.cls-meta.xml │ │ │ │ ├── ForUpdateParser.cls-meta.xml │ │ │ │ ├── GroupByParserTest.cls-meta.xml │ │ │ │ ├── HavingParserTest.cls-meta.xml │ │ │ │ ├── LimitParserTest.cls-meta.xml │ │ │ │ ├── OffsetParserTest.cls-meta.xml │ │ │ │ ├── OperatorParser.cls-meta.xml │ │ │ │ ├── OrderByParserTest.cls-meta.xml │ │ │ │ ├── ParserDateFuncTest.cls-meta.xml │ │ │ │ ├── ParserUtilsTest.cls-meta.xml │ │ │ │ ├── ScopeParserTest.cls-meta.xml │ │ │ │ ├── SelectParserTest.cls-meta.xml │ │ │ │ ├── ValueListParser.cls-meta.xml │ │ │ │ ├── ValueParserTest.cls-meta.xml │ │ │ │ ├── WhereParserTest.cls-meta.xml │ │ │ │ ├── AggregateFuncParser.cls-meta.xml │ │ │ │ ├── AggregateFuncParserTest.cls-meta.xml │ │ │ │ ├── ForUpdateParserTest.cls-meta.xml │ │ │ │ ├── ValueListParserTest.cls-meta.xml │ │ │ │ ├── WithDataCategoryParser.cls-meta.xml │ │ │ │ ├── ForViewOrReferenceParser.cls-meta.xml │ │ │ │ ├── ForViewOrReferenceParserTest.cls-meta.xml │ │ │ │ ├── MockDatabaseDateFuncTest.cls-meta.xml │ │ │ │ ├── WithSecurityEnforcedParser.cls-meta.xml │ │ │ │ ├── primitive-parsers │ │ │ │ │ ├── DateParser.cls-meta.xml │ │ │ │ │ ├── NullParser.cls-meta.xml │ │ │ │ │ ├── BooleanParser.cls-meta.xml │ │ │ │ │ ├── NumberParser.cls-meta.xml │ │ │ │ │ ├── StringParser.cls-meta.xml │ │ │ │ │ ├── BindVariableParser.cls-meta.xml │ │ │ │ │ ├── DateLiteralParser.cls-meta.xml │ │ │ │ │ ├── PrimitiveParserFactory.cls-meta.xml │ │ │ │ │ └── PrimitiveParserFactoryTest.cls-meta.xml │ │ │ │ ├── UpdateTrackingOrViewStatParser.cls-meta.xml │ │ │ │ ├── WithSecurityEnforcedParserTest.cls-meta.xml │ │ │ │ ├── LimitParserTest.cls │ │ │ │ ├── OffsetParserTest.cls │ │ │ │ ├── AliasParserTest.cls │ │ │ │ ├── ScopeParserTest.cls │ │ │ │ ├── ForUpdateParserTest.cls │ │ │ │ ├── ForViewOrReferenceParserTest.cls │ │ │ │ └── OrderByParserTest.cls │ │ │ └── parser-test-util │ │ │ │ ├── ParserTestUtil.cls-meta.xml │ │ │ │ ├── AbstractSyntaxTreeWithQuery.cls-meta.xml │ │ │ │ └── AbstractSyntaxTreeWithQuery.cls │ │ │ ├── mock-soql-handlers │ │ │ ├── MockSOQLHandler.cls-meta.xml │ │ │ ├── QueryValidator.cls-meta.xml │ │ │ ├── MockCountQueryHandler.cls-meta.xml │ │ │ ├── MockRecordQueryHandler.cls-meta.xml │ │ │ ├── date-funcs │ │ │ │ ├── DateFuncs.cls-meta.xml │ │ │ │ ├── IDateFunc.cls-meta.xml │ │ │ │ ├── CalendarYearFunc.cls-meta.xml │ │ │ │ ├── DateFuncFactory.cls-meta.xml │ │ │ │ ├── CalendarMonthFunc.cls-meta.xml │ │ │ │ ├── CalendarQuarterFunc.cls-meta.xml │ │ │ │ └── IDateFunc.cls │ │ │ ├── MockAggregateQueryHandler.cls-meta.xml │ │ │ └── MockAggregateQueryHandlerTest.cls-meta.xml │ │ │ └── interpreter │ │ │ ├── alias-service │ │ │ └── AliasService.cls-meta.xml │ │ │ ├── comparators │ │ │ ├── ObjectComparator.cls-meta.xml │ │ │ ├── SObjectComparator.cls-meta.xml │ │ │ ├── AggregateComparator.cls-meta.xml │ │ │ ├── ObjectComparatorTest.cls-meta.xml │ │ │ ├── SObjectComparatorTest.cls-meta.xml │ │ │ └── AggregateComparatorTest.cls-meta.xml │ │ │ ├── limit-handler │ │ │ ├── ILimitHandler.cls-meta.xml │ │ │ ├── LimitOptions.cls-meta.xml │ │ │ ├── CountLimitHandler.cls-meta.xml │ │ │ ├── LimitHandlerFactory.cls-meta.xml │ │ │ ├── RecordLimitHandler.cls-meta.xml │ │ │ └── AggregateLimitHandler.cls-meta.xml │ │ │ ├── offset-handler │ │ │ ├── IOffsetHandler.cls-meta.xml │ │ │ ├── OffsetOptions.cls-meta.xml │ │ │ ├── CountOffsetHandler.cls-meta.xml │ │ │ ├── RecordOffsetHandler.cls-meta.xml │ │ │ ├── AggregateOffsetHandler.cls-meta.xml │ │ │ └── OffsetHandlerFactory.cls-meta.xml │ │ │ ├── operator-handler │ │ │ ├── InHandler.cls-meta.xml │ │ │ ├── LikeHandler.cls-meta.xml │ │ │ ├── NotInHandler.cls-meta.xml │ │ │ ├── EqualityHandler.cls-meta.xml │ │ │ ├── ExcludesHandler.cls-meta.xml │ │ │ ├── IOperatorHandler.cls-meta.xml │ │ │ ├── IncludesHandler.cls-meta.xml │ │ │ ├── InequalityHandler.cls-meta.xml │ │ │ ├── LessThanHandler.cls-meta.xml │ │ │ ├── EqualityHandlerTest.cls-meta.xml │ │ │ ├── GreaterThanHandler.cls-meta.xml │ │ │ ├── LessThanOrEqualHandler.cls-meta.xml │ │ │ ├── OperatorHandlerFactory.cls-meta.xml │ │ │ ├── GreaterThanOrEqualHandler.cls-meta.xml │ │ │ └── date-literal-comparable │ │ │ │ ├── LastWeekComparable.cls-meta.xml │ │ │ │ ├── LastYearComparable.cls-meta.xml │ │ │ │ ├── NDaysAgoComparable.cls-meta.xml │ │ │ │ ├── NextWeekComparable.cls-meta.xml │ │ │ │ ├── ThisWeekComparable.cls-meta.xml │ │ │ │ ├── ThisYearComparable.cls-meta.xml │ │ │ │ ├── TodayComparable.cls-meta.xml │ │ │ │ ├── TomorrowComparable.cls-meta.xml │ │ │ │ ├── DateLiteralComparable.cls-meta.xml │ │ │ │ ├── Last90DaysComparable.cls-meta.xml │ │ │ │ ├── LastMonthComparable.cls-meta.xml │ │ │ │ ├── LastMonthComparableTest.cls-meta.xml │ │ │ │ ├── LastNDaysComparable.cls-meta.xml │ │ │ │ ├── LastNDaysComparableTest.cls-meta.xml │ │ │ │ ├── LastNMonthsComparable.cls-meta.xml │ │ │ │ ├── LastNQuartersComparable.cls-meta.xml │ │ │ │ ├── LastNWeeksComparable.cls-meta.xml │ │ │ │ ├── LastNYearsComparable.cls-meta.xml │ │ │ │ ├── LastQuarterComparable.cls-meta.xml │ │ │ │ ├── LastWeekComparableTest.cls-meta.xml │ │ │ │ ├── LastYearComparableTest.cls-meta.xml │ │ │ │ ├── NDaysAgoComparableTest.cls-meta.xml │ │ │ │ ├── NMonthsAgoComparable.cls-meta.xml │ │ │ │ ├── NQuartersAgoComparable.cls-meta.xml │ │ │ │ ├── NWeeksAgoComparable.cls-meta.xml │ │ │ │ ├── NWeeksAgoComparableTest.cls-meta.xml │ │ │ │ ├── NYearsAgoComparable.cls-meta.xml │ │ │ │ ├── NYearsAgoComparableTest.cls-meta.xml │ │ │ │ ├── Next90DaysComparable.cls-meta.xml │ │ │ │ ├── NextMonthComparable.cls-meta.xml │ │ │ │ ├── NextMonthComparableTest.cls-meta.xml │ │ │ │ ├── NextNDaysComparable.cls-meta.xml │ │ │ │ ├── NextNDaysComparableTest.cls-meta.xml │ │ │ │ ├── NextNMonthsComparable.cls-meta.xml │ │ │ │ ├── NextNQuartersComparable.cls-meta.xml │ │ │ │ ├── NextNWeeksComparable.cls-meta.xml │ │ │ │ ├── NextNYearsComparable.cls-meta.xml │ │ │ │ ├── NextQuarterComparable.cls-meta.xml │ │ │ │ ├── NextWeekComparableTest.cls-meta.xml │ │ │ │ ├── ThisMonthComparable.cls-meta.xml │ │ │ │ ├── ThisMonthComparableTest.cls-meta.xml │ │ │ │ ├── ThisQuarterComparable.cls-meta.xml │ │ │ │ ├── ThisWeekComparableTest.cls-meta.xml │ │ │ │ ├── ThisYearComparableTest.cls-meta.xml │ │ │ │ ├── TodayComparableTest.cls-meta.xml │ │ │ │ ├── TomorrowComparableTest.cls-meta.xml │ │ │ │ ├── YesterdayComparable.cls-meta.xml │ │ │ │ ├── YesterdayComparableTest.cls-meta.xml │ │ │ │ ├── DateLiteralComparableFactory.cls-meta.xml │ │ │ │ ├── Last90DaysComparableTest.cls-meta.xml │ │ │ │ ├── LastFiscalQuarterComparable.cls-meta.xml │ │ │ │ ├── LastFiscalYearComparable.cls-meta.xml │ │ │ │ ├── LastFiscalYearComparableTest.cls-meta.xml │ │ │ │ ├── LastNFiscalYearsComparable.cls-meta.xml │ │ │ │ ├── LastNMonthsComparableTest.cls-meta.xml │ │ │ │ ├── LastNQuartersComparableTest.cls-meta.xml │ │ │ │ ├── LastNWeeksComparableTest.cls-meta.xml │ │ │ │ ├── LastNYearsComparableTest.cls-meta.xml │ │ │ │ ├── LastQuarterComparableTest.cls-meta.xml │ │ │ │ ├── NFiscalYearsAgoComparable.cls-meta.xml │ │ │ │ ├── NMonthsAgoComparableTest.cls-meta.xml │ │ │ │ ├── NQuartersAgoComparableTest.cls-meta.xml │ │ │ │ ├── Next90DaysComparableTest.cls-meta.xml │ │ │ │ ├── NextFiscalQuarterComparable.cls-meta.xml │ │ │ │ ├── NextFiscalYearComparable.cls-meta.xml │ │ │ │ ├── NextFiscalYearComparableTest.cls-meta.xml │ │ │ │ ├── NextNFiscalYearsComparable.cls-meta.xml │ │ │ │ ├── NextNMonthsComparableTest.cls-meta.xml │ │ │ │ ├── NextNQuartersComparableTest.cls-meta.xml │ │ │ │ ├── NextNWeeksComparableTest.cls-meta.xml │ │ │ │ ├── NextNYearsComparableTest.cls-meta.xml │ │ │ │ ├── NextQuarterComparableTest.cls-meta.xml │ │ │ │ ├── ThisFiscalQuarterComparable.cls-meta.xml │ │ │ │ ├── ThisFiscalYearComparable.cls-meta.xml │ │ │ │ ├── ThisFiscalYearComparableTest.cls-meta.xml │ │ │ │ ├── ThisQuarterComparableTest.cls-meta.xml │ │ │ │ ├── DateLiteralComparableFactoryTest.cls-meta.xml │ │ │ │ ├── LastFiscalQuarterComparableTest.cls-meta.xml │ │ │ │ ├── LastNFiscalQuartersComparable.cls-meta.xml │ │ │ │ ├── LastNFiscalQuartersComparableTest.cls-meta.xml │ │ │ │ ├── LastNFiscalYearsComparableTest.cls-meta.xml │ │ │ │ ├── NFiscalYearsAgoComparableTest.cls-meta.xml │ │ │ │ ├── NextFiscalQuarterComparableTest.cls-meta.xml │ │ │ │ ├── NextNFiscalQuartersComparable.cls-meta.xml │ │ │ │ ├── NextNFiscalQuartersComparableTest.cls-meta.xml │ │ │ │ ├── NextNFiscalYearsComparableTest.cls-meta.xml │ │ │ │ ├── ThisFiscalQuarterComparableTest.cls-meta.xml │ │ │ │ ├── ThisYearComparable.cls │ │ │ │ ├── LastNDaysComparable.cls │ │ │ │ ├── NDaysAgoComparable.cls │ │ │ │ ├── Next90DaysComparable.cls │ │ │ │ ├── TodayComparable.cls │ │ │ │ ├── YesterdayComparable.cls │ │ │ │ ├── NextNDaysComparable.cls │ │ │ │ ├── LastNWeeksComparable.cls │ │ │ │ ├── TomorrowComparable.cls │ │ │ │ ├── NextNWeeksComparable.cls │ │ │ │ ├── ThisMonthComparable.cls │ │ │ │ ├── LastWeekComparable.cls │ │ │ │ ├── NextWeekComparable.cls │ │ │ │ ├── ThisFiscalYearComparable.cls │ │ │ │ ├── ThisWeekComparable.cls │ │ │ │ └── LastMonthComparable.cls │ │ │ ├── select-handler │ │ │ ├── Attributes.cls-meta.xml │ │ │ ├── FieldSelector.cls-meta.xml │ │ │ ├── ISelectHandler.cls-meta.xml │ │ │ ├── FieldSelectHandler.cls-meta.xml │ │ │ ├── PolymorphicAttributes.cls-meta.xml │ │ │ ├── PolymorphicSelectHandler.cls-meta.xml │ │ │ ├── SelectHandlerFactory.cls-meta.xml │ │ │ ├── ChildSubQuerySelectHandler.cls-meta.xml │ │ │ └── ParentSubQuerySelectHandler.cls-meta.xml │ │ │ ├── aggregate-calculator │ │ │ ├── MaxCalculator.cls-meta.xml │ │ │ ├── MinCalculator.cls-meta.xml │ │ │ ├── SumCalculator.cls-meta.xml │ │ │ ├── AverageCalculator.cls-meta.xml │ │ │ ├── CountCalculator.cls-meta.xml │ │ │ ├── CalendarMonthCalculator.cls-meta.xml │ │ │ ├── CalendarYearCalculator.cls-meta.xml │ │ │ ├── CountDistinctCalculator.cls-meta.xml │ │ │ ├── IAggregateCalculator.cls-meta.xml │ │ │ ├── AggregateCalculatorFactory.cls-meta.xml │ │ │ ├── AggregateCalculatorOptions.cls-meta.xml │ │ │ └── CalendarQuarterCalculator.cls-meta.xml │ │ │ ├── aggregate-service │ │ │ └── AggregateService.cls-meta.xml │ │ │ ├── order-by-handler │ │ │ ├── OrderByHandler.cls-meta.xml │ │ │ ├── OrderByOptions.cls-meta.xml │ │ │ ├── OrderByHandlerFactory.cls-meta.xml │ │ │ ├── RecordOrderByHandler.cls-meta.xml │ │ │ └── AggregateOrderByHandler.cls-meta.xml │ │ │ ├── Id-field-comparator │ │ │ ├── IdFieldComparator.cls-meta.xml │ │ │ ├── IdFieldComparatorFactory.cls-meta.xml │ │ │ ├── ReferenceFieldComparator.cls-meta.xml │ │ │ └── IdAndReferenceFieldComparator.cls-meta.xml │ │ │ ├── comparable-service │ │ │ ├── ComparableRecordData.cls-meta.xml │ │ │ ├── ComparableService.cls-meta.xml │ │ │ ├── ParentLookupChain.cls-meta.xml │ │ │ ├── ParentLookupResolver.cls-meta.xml │ │ │ ├── ParentRecordData.cls-meta.xml │ │ │ ├── QueriedFieldResolver.cls-meta.xml │ │ │ ├── ComparableServiceTest.cls-meta.xml │ │ │ └── QueriedFieldResolverTest.cls-meta.xml │ │ │ ├── aggregate-query-handler │ │ │ ├── AggregateProcessor.cls-meta.xml │ │ │ ├── AggregateQueryHandler.cls-meta.xml │ │ │ ├── AggregateStandardProcessor.cls-meta.xml │ │ │ └── AggregateStandardProcessorTest.cls-meta.xml │ │ │ └── boolean-logic-handlers │ │ │ ├── BooleanLogicHandler.cls-meta.xml │ │ │ ├── BooleanLogicOptions.cls-meta.xml │ │ │ ├── HavingLogicHandler.cls-meta.xml │ │ │ ├── WhereLogicHandler.cls-meta.xml │ │ │ ├── WhereLogicHandlerTest.cls-meta.xml │ │ │ ├── date-literal │ │ │ └── DateLiteral.cls-meta.xml │ │ │ └── where-logic-comparison │ │ │ ├── WhereLogicComparisonResults.cls-meta.xml │ │ │ ├── WhereLogicDateFuncStrategy.cls-meta.xml │ │ │ ├── IWhereLogicComparisonStrategy.cls-meta.xml │ │ │ ├── WhereLogicParentFieldStrategy.cls-meta.xml │ │ │ ├── WhereLogicRecordFieldStrategy.cls-meta.xml │ │ │ └── IWhereLogicComparisonStrategy.cls │ └── utilities │ │ ├── gmt │ │ ├── GMT.cls-meta.xml │ │ └── GmtTest.cls-meta.xml │ │ ├── regex │ │ ├── Regex.cls-meta.xml │ │ └── RegexTest.cls-meta.xml │ │ ├── common │ │ ├── Common.cls-meta.xml │ │ └── CommonTest.cls-meta.xml │ │ ├── dynamic-types │ │ ├── TypeOf.cls-meta.xml │ │ ├── ApexTypes.cls-meta.xml │ │ ├── DynamicCast.cls-meta.xml │ │ ├── TypeOfTest.cls-meta.xml │ │ └── DynamicCastTest.cls-meta.xml │ │ ├── aggregate │ │ ├── AggregateBuilder.cls-meta.xml │ │ ├── AggregateTest.cls-meta.xml │ │ └── ProtoAggregate.cls-meta.xml │ │ ├── id-generator │ │ ├── fflib_IDGenerator.cls-meta.xml │ │ └── fflib_IDGeneratorTest.cls-meta.xml │ │ ├── schema-service │ │ ├── SchemaService.cls-meta.xml │ │ └── SchemaServiceTest.cls-meta.xml │ │ ├── singletons │ │ ├── OrganizationSingleton.cls-meta.xml │ │ └── OrganizationSingletonTest.cls-meta.xml │ │ └── common-exceptions │ │ ├── NotFoundException.cls-meta.xml │ │ ├── ParsingException.cls-meta.xml │ │ ├── ValidationException.cls-meta.xml │ │ └── ValidationException.cls │ └── staticresources │ ├── ALIAS_0.resource-meta.xml │ ├── HAVING_0.resource-meta.xml │ ├── HAVING_1.resource-meta.xml │ ├── HAVING_2.resource-meta.xml │ ├── LIMIT_0.resource-meta.xml │ ├── OFFSET_0.resource-meta.xml │ ├── SCOPE_0.resource-meta.xml │ ├── SELECT_0.resource-meta.xml │ ├── SELECT_1.resource-meta.xml │ ├── SELECT_2.resource-meta.xml │ ├── SELECT_3.resource-meta.xml │ ├── SELECT_4.resource-meta.xml │ ├── SELECT_5.resource-meta.xml │ ├── SELECT_6.resource-meta.xml │ ├── SELECT_7.resource-meta.xml │ ├── SELECT_8.resource-meta.xml │ ├── SELECT_9.resource-meta.xml │ ├── WHERE_0.resource-meta.xml │ ├── WHERE_1.resource-meta.xml │ ├── WHERE_2.resource-meta.xml │ ├── WHERE_3.resource-meta.xml │ ├── WHERE_4.resource-meta.xml │ ├── WHERE_5.resource-meta.xml │ ├── WHERE_6.resource-meta.xml │ ├── WHERE_7.resource-meta.xml │ ├── WHERE_8.resource-meta.xml │ ├── WHERE_9.resource-meta.xml │ ├── AGGREGATE_0.resource-meta.xml │ ├── AGGREGATE_1.resource-meta.xml │ ├── AGGREGATE_2.resource-meta.xml │ ├── AGGREGATE_3.resource-meta.xml │ ├── AGGREGATE_4.resource-meta.xml │ ├── AGGREGATE_5.resource-meta.xml │ ├── AGGREGATE_6.resource-meta.xml │ ├── FOR_UPDATE_0.resource-meta.xml │ ├── GROUP_BY_0.resource-meta.xml │ ├── GROUP_BY_1.resource-meta.xml │ ├── ORDER_BY_0.resource-meta.xml │ ├── ORDER_BY_1.resource-meta.xml │ ├── ORDER_BY_2.resource-meta.xml │ ├── ORDER_BY_3.resource-meta.xml │ ├── SELECT_10.resource-meta.xml │ ├── SELECT_11.resource-meta.xml │ ├── VALUE_LIST_0.resource-meta.xml │ ├── CALENDAR_MONTH_0.resource-meta.xml │ ├── CALENDAR_QUARTER_0.resource-meta.xml │ ├── CALENDAR_QUARTER_1.resource-meta.xml │ ├── CALENDAR_QUARTER_2.resource-meta.xml │ ├── CALENDAR_YEAR_0.resource-meta.xml │ ├── CALENDAR_YEAR_1.resource-meta.xml │ ├── FOR_VIEW_OR_REFERENCE_0.resource-meta.xml │ ├── FOR_VIEW_OR_REFERENCE_1.resource-meta.xml │ ├── SELECT_0.json │ ├── SELECT_2.json │ ├── AGGREGATE_4.json │ ├── SELECT_3.json │ ├── SELECT_1.json │ ├── AGGREGATE_5.json │ ├── FOR_UPDATE_0.json │ ├── AGGREGATE_0.json │ ├── AGGREGATE_1.json │ ├── AGGREGATE_2.json │ ├── AGGREGATE_3.json │ ├── FOR_VIEW_OR_REFERENCE_0.json │ ├── AGGREGATE_6.json │ ├── FOR_VIEW_OR_REFERENCE_1.json │ ├── LIMIT_0.json │ ├── OFFSET_0.json │ ├── SELECT_4.json │ ├── ORDER_BY_0.json │ ├── ORDER_BY_1.json │ ├── SELECT_5.json │ ├── GROUP_BY_0.json │ ├── SCOPE_0.json │ ├── ORDER_BY_2.json │ ├── ORDER_BY_3.json │ ├── WHERE_4.json │ ├── WHERE_0.json │ ├── WHERE_3.json │ ├── GROUP_BY_1.json │ ├── WHERE_7.json │ ├── SELECT_6.json │ ├── SELECT_7.json │ ├── CALENDAR_MONTH_0.json │ ├── CALENDAR_QUARTER_1.json │ ├── CALENDAR_YEAR_0.json │ ├── HAVING_0.json │ ├── VALUE_LIST_0.json │ ├── CALENDAR_YEAR_1.json │ ├── ALIAS_0.json │ ├── CALENDAR_QUARTER_0.json │ ├── WHERE_1.json │ └── SELECT_9.json ├── .github ├── workflows │ ├── code-scan.yaml │ └── prettier-check.yaml └── ISSUE_TEMPLATE │ └── feature_request.md ├── .cursor └── rules │ └── salesforce.mdc ├── .forceignore └── tsconfig.json /scripts/apex/output.log: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # No touchy >.< 2 | @ZackFra 3 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 4 3 | } -------------------------------------------------------------------------------- /docs/MoxygenUML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZackFra/Salesforce-Moxygen/HEAD/docs/MoxygenUML.jpg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged --allow-empty -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .vscode/ 3 | 4 | package-lock.json 5 | .sf/ 6 | .sfdx/ 7 | config/ 8 | 9 | hardis-report/ 10 | destructiveChanges/ -------------------------------------------------------------------------------- /scripts/bash/config-sf.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | npm i -g @salesforce/cli 3 | sf org login sfdx-url --sfdx-url-file $1 --set-default-dev-hub --alias DevHub -------------------------------------------------------------------------------- /scripts/bash/diagnose.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | echo y | sf plugins install sfdx-hardis 3 | sf hardis:org:diagnose:instanceupgrade --json > instance_upgrade.json -------------------------------------------------------------------------------- /scripts/bash/invoke-lambda-func.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | aws lambda invoke --payload $1 --function-name $2 --cli-binary-format raw-in-base64-out outfile.json -------------------------------------------------------------------------------- /scripts/typescript/models/salesforce-response.d.ts: -------------------------------------------------------------------------------- 1 | interface SalesforceResponse { 2 | status: number 3 | result: object 4 | warnings: string[] 5 | } -------------------------------------------------------------------------------- /scripts/bash/config-github-bot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | git config --global user.name 'GitHub Action Bot' 4 | git config --global user.email 'action@github.com' -------------------------------------------------------------------------------- /scripts/bash/create-sfdx-auth-file.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | sfdx_auth_url=$1 3 | auth_file=${2:-"authFile.json"} 4 | echo "{\"sfdxAuthUrl\": \"$sfdx_auth_url\"}" > "$auth_file" -------------------------------------------------------------------------------- /scripts/soql/scratch.soql: -------------------------------------------------------------------------------- 1 | SELECT CALENDAR_MONTH(closeDate) month, SUM(Amount) total 2 | FROM Opportunity 3 | GROUP BY CALENDAR_MONTH(CloseDate) 4 | HAVING CALENDAR_MONTH(CloseDate) < 12 -------------------------------------------------------------------------------- /scripts/typescript/models/query-response.d.ts: -------------------------------------------------------------------------------- 1 | interface QueryResponse extends SalesforceResponse { 2 | result: { 3 | totalSize: number, 4 | done: boolean, 5 | records: any[] 6 | } 7 | } -------------------------------------------------------------------------------- /scripts/typescript/models/hardis-duplicate-response.d.ts: -------------------------------------------------------------------------------- 1 | interface HardisDuplicateResponse extends SalesforceResponse { 2 | result: { 3 | duplicates: { 4 | [key: string]: string[] 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/DML.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/ORM.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/DMLTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/Selector.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/Types.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /scripts/bash/save-deployment.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | scripts/bash/config-aws.sh 3 | node scripts/js/format-deployment-data.js "validate.json" 4 | scripts/bash/invoke-lambda-func.sh "file://deployment-request.json" $AWS_SAVE_DEPLOYMENT_FUNC -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/Token.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/Aggregate.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/SelectorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/gmt/GMT.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/DataStore.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/DataStoreTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/MockDatabase.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/gmt/GmtTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/regex/Regex.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/MockDatabaseTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common/Common.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common/CommonTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/regex/RegexTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/DmlEngine.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/SoqlEngine.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/Node.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/dynamic-types/TypeOf.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/MockSOQLHandler.md: -------------------------------------------------------------------------------- 1 | # MockSOQLHandler Class 2 | `virtual` 3 | 4 | Base class for handling SOQL queries to the mock database 5 | 6 | **Since** 7 | 8 | 4/13/2024 9 | 10 | **Group** Soql Engine 11 | 12 | **Author** Zackary Frazier -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/NodeBuilder.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/NodeService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/NodeTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/NodeType.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/Parser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/aggregate/AggregateBuilder.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/aggregate/AggregateTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/aggregate/ProtoAggregate.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/dynamic-types/ApexTypes.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/dynamic-types/DynamicCast.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/dynamic-types/TypeOfTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/TopLevelNodes.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/Intermediary.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/ParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/dynamic-types/DynamicCastTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/id-generator/fflib_IDGenerator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/schema-service/SchemaService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/schema-service/SchemaServiceTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/singletons/OrganizationSingleton.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /scripts/apex/scratch.apex: -------------------------------------------------------------------------------- 1 | Account acct = new Account(Id = '0011a00000Bb9ZzAAJ', Name = 'Test Account'); 2 | 3 | Opportunity opp = new Opportunity( 4 | Id = '0061a00000Bb9ZzAAJ', 5 | Name = 'Test Opportunity', 6 | AccountId = '0011a00000Bb9ZzAAJ' 7 | ); 8 | -------------------------------------------------------------------------------- /scripts/bash/config-aws.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | npm i -g aws-cdk 3 | aws configure set aws_access_key_id $AWS_ACCESS_KEY 4 | aws configure set aws_secret_access_key $AWS_SECRET 5 | aws configure set default.region $AWS_REGION 6 | aws configure set default.output json -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common-exceptions/NotFoundException.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common-exceptions/ParsingException.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common-exceptions/ValidationException.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/id-generator/fflib_IDGeneratorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/singletons/OrganizationSingletonTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockDMLHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FieldParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FromParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/GroupByParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/HavingParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserUtils.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/QueryParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SObjectParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SelectParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SubParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WhereParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockDeleteHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockInsertHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUndeleteHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUpdateHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUpsertHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockSOQLHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/QueryValidator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FieldListParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/GroupByParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/HavingParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OperatorParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserDateFuncTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserUtilsTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SelectParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueListParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WhereParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /docs/apexdocs/utilities/NotFoundException.md: -------------------------------------------------------------------------------- 1 | # NotFoundException Class 2 | 3 | Generic exception for when something is not found 4 | 5 | **Since** 6 | 7 | 7/12/2024 8 | 9 | **Group** Utilities 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Inheritance** 14 | 15 | Exception -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/alias-service/AliasService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/ObjectComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/SObjectComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/ILimitHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/LimitOptions.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/IOffsetHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/OffsetOptions.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/InHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LikeHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/NotInHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/Attributes.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/FieldSelector.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ISelectHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockCountQueryHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockRecordQueryHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/DateFuncs.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/IDateFunc.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/ParserTestUtil.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AggregateFuncParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AggregateFuncParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueListParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithDataCategoryParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ALIAS_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/HAVING_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/HAVING_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/HAVING_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/LIMIT_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/OFFSET_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SCOPE_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_3.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_4.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_5.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_6.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_7.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_8.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_9.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_3.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_4.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_5.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_6.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_7.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_8.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_9.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /.github/workflows/code-scan.yaml: -------------------------------------------------------------------------------- 1 | name: CodeScan Pull Request On Main 2 | 3 | on: 4 | workflow_call: 5 | 6 | 7 | jobs: 8 | code-scan-pull-request: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Run Code Scan 12 | uses: ZackFra/sfdx-codescan@master -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/MaxCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/MinCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/SumCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-service/AggregateService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/AggregateComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/ObjectComparatorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/SObjectComparatorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/CountLimitHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/LimitHandlerFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/RecordLimitHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/CountOffsetHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/RecordOffsetHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/EqualityHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/ExcludesHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/IOperatorHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/IncludesHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/InequalityHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LessThanHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByOptions.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/FieldSelectHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockAggregateQueryHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarYearFunc.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/DateFuncFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/MockDatabaseDateFuncTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithSecurityEnforcedParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/DateParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/NullParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_3.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_4.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_5.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_6.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_UPDATE_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/GROUP_BY_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/GROUP_BY_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_3.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_10.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_11.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/VALUE_LIST_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdFieldComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AverageCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CountCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableRecordData.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentLookupChain.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentLookupResolver.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentRecordData.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/QueriedFieldResolver.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparators/AggregateComparatorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/AggregateLimitHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/AggregateOffsetHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/OffsetHandlerFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/EqualityHandlerTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/GreaterThanHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LessThanOrEqualHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/OperatorHandlerFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByHandlerFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/RecordOrderByHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/PolymorphicAttributes.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/PolymorphicSelectHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/SelectHandlerFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockAggregateQueryHandlerTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarMonthFunc.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarQuarterFunc.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/AbstractSyntaxTreeWithQuery.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/UpdateTrackingOrViewStatParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithSecurityEnforcedParserTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/BooleanParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/NumberParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/StringParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_MONTH_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_QUARTER_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_QUARTER_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_QUARTER_2.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_YEAR_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_YEAR_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /docs/apexdocs/utilities/ValidationException.md: -------------------------------------------------------------------------------- 1 | # ValidationException Class 2 | 3 | This class is responsible for handling validation exceptions 4 | 5 | **Since** 6 | 7 | 11/28/2024 8 | 9 | **Group** Utilities 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Inheritance** 14 | 15 | Exception -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/SaveResultService/SaveResultService.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdFieldComparatorFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/ReferenceFieldComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarMonthCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarYearCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CountDistinctCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/IAggregateCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateProcessor.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/BooleanLogicHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/BooleanLogicOptions.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/HavingLogicHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/WhereLogicHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/WhereLogicHandlerTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableServiceTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/QueriedFieldResolverTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/GreaterThanOrEqualHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/AggregateOrderByHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ChildSubQuerySelectHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ParentSubQuerySelectHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/BindVariableParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/DateLiteralParser.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_0.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_1.resource-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Public 4 | application/json 5 | 6 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdAndReferenceFieldComparator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AggregateCalculatorFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AggregateCalculatorOptions.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarQuarterCalculator.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateQueryHandler.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/date-literal/DateLiteral.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/PrimitiveParserFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateStandardProcessor.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateStandardProcessorTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/PrimitiveParserFactoryTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastYearComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Last90DaysComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNMonthsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNQuartersComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNYearsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastYearComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NMonthsAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NQuartersAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NWeeksAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NWeeksAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NYearsAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NYearsAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextMonthComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextMonthComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNMonthsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNQuartersComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNYearsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /scripts/bash/get-deployment.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | scripts/bash/config-aws.sh 3 | scripts/bash/invoke-lambda-func.sh "{\"pullRequestUrl\":\"/$REPOSITORY/pull/$PULL_REQUEST_NUMBER\"}" $AWS_GET_DEPLOYMENT_FUNC 4 | node scripts/js/get-job-id.js "outfile.json" 5 | echo "quick-deploy-id=$(cat job-id.txt)" >> "$GITHUB_OUTPUT" -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparableFactory.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Last90DaysComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalYearComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalYearComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalYearsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNMonthsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNQuartersComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNYearsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NFiscalYearsAgoComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NMonthsAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NQuartersAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalYearComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalYearComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalYearsComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNMonthsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNQuartersComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNYearsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalQuarterComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/utilities/common-exceptions/ValidationException.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description This class is responsible for handling validation exceptions 3 | * @author Zackary Frazier 4 | * @since 11/28/2024 5 | * @group Utilities 6 | */ 7 | public with sharing class ValidationException extends Exception { 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_2.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"account.name"},"id":"select"},"query":"SELECT Account.Name FROM Contact"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicComparisonResults.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicDateFuncStrategy.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparableFactoryTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalQuartersComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalQuartersComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalYearsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NFiscalYearsAgoComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalQuartersComparable.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalQuartersComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalYearsComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalQuarterComparableTest.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_4.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT() FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/IWhereLogicComparisonStrategy.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicParentFieldStrategy.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicRecordFieldStrategy.cls-meta.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64.0 4 | Active 5 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class LimitParserTest { 4 | @IsTest 5 | static void selectIdFromAccountLimit10() { 6 | ParserTestUtil.assertStaticResource('LIMIT_0'); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class OffsetParserTest { 4 | @IsTest 5 | static void selectNameFromAccountOffset10() { 6 | ParserTestUtil.assertStaticResource('OFFSET_0'); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class AliasParserTest { 4 | @IsTest 5 | static void aliasParentAccountNameWhenSelectingContact() { 6 | ParserTestUtil.assertStaticResource('ALIAS_0'); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_3.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"opportunity.account.name"},"id":"select"},"query":"SELECT Opportunity.Account.Name FROM Contact"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class ScopeParserTest { 4 | @IsTest 5 | static void selectIdNameFromAccountUsingScopeEverything() { 6 | ParserTestUtil.assertStaticResource('SCOPE_0'); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class ForUpdateParserTest { 4 | @IsTest 5 | private static void selectIdFromAccountForUpdate() { 6 | ParserTestUtil.assertStaticResource('FOR_UPDATE_0'); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_5.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT(Id) FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_UPDATE_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for update","left":null,"id":"for update"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account FOR UPDATE"} -------------------------------------------------------------------------------- /.cursor/rules/salesforce.mdc: -------------------------------------------------------------------------------- 1 | --- 2 | description: 3 | globs: *.cls,*.apex,*.trigger 4 | --- 5 | 6 | # Your rule content 7 | 8 | - You can @ files here 9 | - You can use markdown but dont have to 10 | - Write Apex code in alignment with the PMD's expectations when using default configuration for Apex 11 | - When creating a new Apex class, create the associated .cls-meta.xml file as well -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"avg"},"id":"select"},"query":"SELECT AVG(Amount) FROM Opportunity"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"min"},"id":"select"},"query":"SELECT MIN(Amount) FROM Opportunity"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_2.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"max"},"id":"select"},"query":"SELECT MAX(Amount) FROM Opportunity"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_3.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"sum"},"id":"select"},"query":"SELECT SUM(Amount) FROM Opportunity"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for view","left":null,"id":"for view"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account FOR VIEW"} -------------------------------------------------------------------------------- /scripts/typescript/models/org-display-response.d.ts: -------------------------------------------------------------------------------- 1 | interface OrgDisplayResponse extends SalesforceResponse { 2 | result: { 3 | id: string, 4 | apiVersion: string, 5 | accessToken: string, 6 | instanceUrl: string, 7 | username: string, 8 | clientId: string, 9 | connectedStatus: string, 10 | alias: string 11 | } 12 | } -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/AGGREGATE_6.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count_distinct"},"id":"select"},"query":"SELECT COUNT_DISTINCT(Id) FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/AbstractSyntaxTreeWithQuery.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Represents and AST as stored in the parser static resources 3 | * @author Zackary Frazier 4 | * @since 7/18/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class AbstractSyntaxTreeWithQuery { 8 | public String query; 9 | public Node ast; 10 | } 11 | -------------------------------------------------------------------------------- /.forceignore: -------------------------------------------------------------------------------- 1 | # List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status 2 | # More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm 3 | # 4 | 5 | package.xml 6 | 7 | # LWC configuration files 8 | **/jsconfig.json 9 | **/.eslintrc.json 10 | 11 | # LWC Jest 12 | **/__tests__/** -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for reference","left":null,"id":"for reference"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account FOR REFERENCE"} -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[FEATURE]" 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Additional context** 14 | Add any other context or screenshots about the feature request here. 15 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/LIMIT_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"limit","left":{"right":null,"nodeType":"number","left":null,"id":"10"},"id":"limit"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account LIMIT 10"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/OFFSET_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"offset","left":{"right":null,"nodeType":"number","left":null,"id":"10"},"id":"offset"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account OFFSET 10"} -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/ILimitHandler.md: -------------------------------------------------------------------------------- 1 | # ILimitHandler Interface 2 | 3 | Interface for limit handler 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `handleLimit()` 15 | 16 | Handles the limit 17 | 18 | #### Signature 19 | ```apex 20 | public Object handleLimit() 21 | ``` 22 | 23 | #### Return Type 24 | **Object** 25 | 26 | ,[object Object] -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/IOffsetHandler.md: -------------------------------------------------------------------------------- 1 | # IOffsetHandler Interface 2 | 3 | Interface for offset handler 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `handleOffset()` 15 | 16 | Offset handler 17 | 18 | #### Signature 19 | ```apex 20 | public Object handleOffset() 21 | ``` 22 | 23 | #### Return Type 24 | **Object** 25 | 26 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_4.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"lastname"},"id":"firstname"},"id":"select"},"query":"SELECT FirstName, LastName, Name FROM Contact"} -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/ISelectHandler.md: -------------------------------------------------------------------------------- 1 | # ISelectHandler Interface 2 | 3 | Interface for handling select operations 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `handleSelect()` 15 | 16 | Handles the select operation 17 | 18 | #### Signature 19 | ```apex 20 | public SObject handleSelect() 21 | ``` 22 | 23 | #### Return Type 24 | **SObject** 25 | 26 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account ORDER BY Name, Id"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"direction","left":null,"id":"desc"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name DESC"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_5.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"myAcctName"},"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name myAcctName FROM Account GROUP BY Name"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/GROUP_BY_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"myAcctName"},"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name myAcctName FROM Account GROUP BY Name"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SCOPE_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"using scope","left":{"right":null,"nodeType":"scope","left":null,"id":"everything"},"id":"using scope"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name FROM Account USING SCOPE everything"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_2.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"nulls direction","left":null,"id":"nulls first"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name NULLS FIRST"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ORDER_BY_3.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"nulls direction","left":null,"id":"nulls last"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name NULLS LAST"} -------------------------------------------------------------------------------- /scripts/js/install-moxygen.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const { execSync } = require("child_process"); 3 | 4 | const FILE_NAME = "sfdx-project.json"; 5 | 6 | const file = fs.readFileSync(FILE_NAME, "utf-8"); 7 | const project = JSON.parse(file); 8 | const packageAliases = Object.keys(project.packageAliases); 9 | const latestVersion = packageAliases[packageAliases.length - 1]; 10 | const installResults = execSync("sf package install -p " + latestVersion + " -w 10").toString(); 11 | console.log(installResults); 12 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_4.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"bind variable","left":null,"id":"id"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Id = :id"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"string","left":null,"id":"test"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Name = 'Test'"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_3.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"boolean","left":null,"id":"true"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"isdeleted"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE IsDeleted = true"} -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "Node 20", 4 | "_version": "20.1.0", 5 | "include": ["scripts/**/*.ts"], 6 | 7 | "compilerOptions": { 8 | "outDir": "scripts/typescript/build", 9 | "lib": ["es2023"], 10 | "module": "node16", 11 | "target": "es2022", 12 | "types": ["node"], 13 | 14 | "strict": true, 15 | "esModuleInterop": true, 16 | "skipLibCheck": true, 17 | "moduleResolution": "node16" 18 | } 19 | } -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/AbstractSyntaxTreeWithQuery.md: -------------------------------------------------------------------------------- 1 | # AbstractSyntaxTreeWithQuery Class 2 | 3 | Represents and AST as stored in the parser static resources 4 | 5 | **Since** 6 | 7 | 7/18/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Fields 14 | ### `ast` 15 | 16 | #### Signature 17 | ```apex 18 | public ast 19 | ``` 20 | 21 | #### Type 22 | [Node](Node.md) 23 | 24 | --- 25 | 26 | ### `query` 27 | 28 | #### Signature 29 | ```apex 30 | public query 31 | ``` 32 | 33 | #### Type 34 | String -------------------------------------------------------------------------------- /docs/apexdocs/dml-engine/MockDMLHandler.md: -------------------------------------------------------------------------------- 1 | # MockDMLHandler Class 2 | `abstract` 3 | 4 | MockDMLHandler is an abstract class that provides a base class for mocking DML operations. 5 | 6 | **Since** 7 | 8 | 3/9/2024 9 | 10 | **Group** DML Engine 11 | 12 | **Author** Zackary Frazier 13 | 14 | ## Methods 15 | ### `wasCalled()` 16 | 17 | Returns true if the method was called, otherwise false. 18 | 19 | #### Signature 20 | ```apex 21 | public Boolean wasCalled() 22 | ``` 23 | 24 | #### Return Type 25 | **Boolean** 26 | 27 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParserTest.cls: -------------------------------------------------------------------------------- 1 | @isTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class ForViewOrReferenceParserTest { 4 | @isTest 5 | static void selectNameFromAccountForView() { 6 | ParserTestUtil.assertStaticResource('FOR_VIEW_OR_REFERENCE_0'); 7 | } 8 | 9 | @IsTest 10 | static void selectNameFromAccountForReference() { 11 | ParserTestUtil.assertStaticResource('FOR_VIEW_OR_REFERENCE_1'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/GROUP_BY_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"alias","left":null,"id":"Cnt1"},"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT(Id) Cnt1 FROM Account GROUP BY Id"} -------------------------------------------------------------------------------- /docs/apexdocs/utilities/OrganizationSingleton.md: -------------------------------------------------------------------------------- 1 | # OrganizationSingleton Class 2 | 3 | Singleton for the Organization object 4 | 5 | **Since** 6 | 7 | 1/7/2025 8 | 9 | **Group** Utilities 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `getInstance()` 15 | 16 | Gets the Organization object 17 | 18 | #### Signature 19 | ```apex 20 | public static Organization getInstance() 21 | ``` 22 | 23 | #### Return Type 24 | **Organization** 25 | 26 | ,[object Object] 27 | 28 | #### Throws 29 | [ValidationException](ValidationException.md): -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_7.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":null,"nodeType":"not","left":{"right":{"right":null,"nodeType":"string","left":null,"id":"test"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"firstname"},"id":"="},"id":"not"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Contact WHERE NOT FirstName = 'test'"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_6.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"nodeType":"subquery","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"subquery"},"id":"select"},"query":"SELECT (SELECT Id FROM Contacts), Id FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_7.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"id":"id"},"id":"select"},"query":"SELECT Id, (SELECT Id FROM Contacts) FROM Account"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/IDateFunc.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Interface for date functions 3 | * @author Zackary Frazier 4 | * @since 1/17/2025 5 | * @group Soql Engine 6 | */ 7 | public interface IDateFunc { 8 | /** 9 | * @description Calculate the date function value for a given date or datetime value 10 | * @param dateOrDateTime Date or Datetime value to calculate the date function value of 11 | * @return The date function value of the date or datetime value 12 | */ 13 | Integer calculate(Object dateOrDateTime); 14 | } 15 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable for THIS_YEAR 3 | * @author Zackary Frazier 4 | * @since 1/4/2025 5 | * @group Soql Engine 6 | */ 7 | public with sharing class ThisYearComparable extends DateLiteralComparable { 8 | public override Boolean isLessThan(DateTime fieldValue) { 9 | return fieldValue.yearGmt() < Gmt.today().year(); 10 | } 11 | 12 | public override Boolean isGreaterThan(DateTime fieldValue) { 13 | return fieldValue.yearGmt() > Gmt.today().year(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.github/workflows/prettier-check.yaml: -------------------------------------------------------------------------------- 1 | name: Check Prettier 2 | 3 | on: 4 | workflow_call: 5 | 6 | jobs: 7 | prettier-check: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Set up Node.js 11 | uses: actions/setup-node@v4 12 | with: 13 | node-version: '20' 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | with: 17 | fetch-depth: 0 18 | - name: Install Dependencies 19 | run: npm ci 20 | - name: Run Prettier Check 21 | run: npm run prettier:verify -------------------------------------------------------------------------------- /docs/apexdocs/utilities/TypeOf.md: -------------------------------------------------------------------------------- 1 | # TypeOf Class 2 | 3 | TypeOf is a class that provides a method to determine the type of an object. 4 | 5 | **Since** 6 | 7 | 11/16/2024 8 | 9 | **Group** Utilities 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `forObject(obj)` 15 | 16 | Given an object, determine the type of the object. 17 | 18 | #### Signature 19 | ```apex 20 | public static String forObject(Object obj) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | obj | Object | `Object` | 27 | 28 | #### Return Type 29 | **String** 30 | 31 | ,[object Object] -------------------------------------------------------------------------------- /docs/apexdocs/utilities/fflib_IDGenerator.md: -------------------------------------------------------------------------------- 1 | # fflib_IDGenerator Class 2 | 3 | `SUPPRESSWARNINGS` 4 | 5 | Generates fake Salesforce Ids for testing purposes 6 | 7 | **Group** Utilities 8 | 9 | **Author** FinancialForce.com, inc 10 | 11 | ## Methods 12 | ### `generate(sobjectType)` 13 | 14 | Generate a fake Salesforce Id for the given SObjectType 15 | 16 | #### Signature 17 | ```apex 18 | public static Id generate(Schema.SObjectType sobjectType) 19 | ``` 20 | 21 | #### Parameters 22 | | Name | Type | Description | 23 | |------|------|-------------| 24 | | sobjectType | Schema.SObjectType | | 25 | 26 | #### Return Type 27 | **Id** -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_MONTH_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"1"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_month"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_MONTH(CreatedDate) = 1"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_QUARTER_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"1"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_month"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_MONTH(CreatedDate) = 1"} -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_YEAR_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"2024"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_YEAR(CreatedDate) = 2024"} -------------------------------------------------------------------------------- /docs/apexdocs/moxygen/Types.md: -------------------------------------------------------------------------------- 1 | # Types Class 2 | 3 | Types defined for this package 4 | 5 | **Since** 6 | 7 | 3/9/2024 8 | 9 | **Group** Moxygen 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Enums 14 | ### DML Enum 15 | 16 | The type of DML operation that was performed 17 | 18 | #### Values 19 | | Value | Description | 20 | |-------|-------------| 21 | | INSERTED | | 22 | | UPDATED | | 23 | | UPSERTED | | 24 | | DELETED | | 25 | | UNDELETED | | 26 | ### SOQL Enum 27 | 28 | The type of SOQL query that was performed 29 | 30 | #### Values 31 | | Value | Description | 32 | |-------|-------------| 33 | | RECORD | | 34 | | AGGREGATE | | 35 | | COUNT | | -------------------------------------------------------------------------------- /moxygen/main/default/classes/mox/Types.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Types defined for this package 3 | * @author Zackary Frazier 4 | * @since 3/9/2024 5 | * @group Moxygen 6 | */ 7 | public with sharing class Types { 8 | /** 9 | * @description The type of DML operation that was performed 10 | */ 11 | public enum DML { 12 | INSERTED, 13 | UPDATED, 14 | UPSERTED, 15 | DELETED, 16 | UNDELETED 17 | } 18 | 19 | /** 20 | * @description The type of SOQL query that was performed 21 | */ 22 | public enum SOQL { 23 | RECORD, 24 | AGGREGATE, 25 | COUNT 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for LAST_N_DAYS 3 | * @author Zackary Frazier 4 | * @since 12/9/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class LastNDaysComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | return fieldValue >= Gmt.today(); 10 | } 11 | 12 | public override Boolean isLessThan(DateTime fieldValue) { 13 | DateTime lastNDays = Gmt.today().addDays(-this.n); 14 | return fieldValue < lastNDays; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for N_DAYS_AGO 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class NDaysAgoComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | return fieldValue >= Gmt.today(); 10 | } 11 | 12 | public override Boolean isLessThan(DateTime fieldValue) { 13 | DateTime nDaysAgo = Gmt.today().addDays(-this.n); 14 | return fieldValue < nDaysAgo; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for NEXT_90_DAYS 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class Next90DaysComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime next90Days = Gmt.today().addDays(90); 10 | return fieldValue > next90Days; 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | return fieldValue < Gmt.today(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/IdFieldComparator.md: -------------------------------------------------------------------------------- 1 | # IdFieldComparator Class 2 | 3 | Id Field Comparator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | Comparator 16 | 17 | ## Methods 18 | ### `compare(field1, field2)` 19 | 20 | #### Signature 21 | ```apex 22 | public Integer compare(Schema.SObjectField field1, Schema.SObjectField field2) 23 | ``` 24 | 25 | #### Parameters 26 | | Name | Type | Description | 27 | |------|------|-------------| 28 | | field1 | Schema.SObjectField | | 29 | | field2 | Schema.SObjectField | | 30 | 31 | #### Return Type 32 | **Integer** -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/IWhereLogicComparisonStrategy.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Strategy inreferace for WHERE logic comparison 3 | * @author Zackary Frazier 4 | * @since 11/28/2024 5 | * @group Soql Engine 6 | */ 7 | public interface IWhereLogicComparisonStrategy { 8 | /** 9 | * @description Retrieve the field value from the record based on the field node 10 | * @param record `SObject` 11 | * @param fieldNode `Node` 12 | * @return `WhereLogicComparisonResults` 13 | */ 14 | WhereLogicComparisonResults getFieldValue(SObject record, Node fieldNode); 15 | } 16 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for TODAY 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class TodayComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime today = Gmt.today(); 10 | return fieldValue >= today.addDays(1); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime today = Gmt.today(); 15 | return fieldValue < today; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/PrimitiveParserFactory.md: -------------------------------------------------------------------------------- 1 | # PrimitiveParserFactory Class 2 | 3 | Factory class for primitive parsers 4 | 5 | **Since** 6 | 7 | 11/30/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `getPrimitiveParser(query)` 15 | 16 | Returns the appropriate primitive parser for the given query 17 | 18 | #### Signature 19 | ```apex 20 | public static SubParser getPrimitiveParser(String query) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | query | String | `String` | 27 | 28 | #### Return Type 29 | **[SubParser](SubParser.md)** 30 | 31 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for YESTERDAY 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class YesterdayComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | return (DateTime) fieldValue >= Gmt.today(); 10 | } 11 | 12 | public override Boolean isLessThan(DateTime fieldValue) { 13 | Date yesterday = GMT.today().addDays(-1); 14 | return (DateTime) fieldValue < yesterday; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for NEXT_N_DAYS 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class NextNDaysComparable extends DateLiteralComparable { 8 | public override Boolean isLessThan(DateTime fieldValue) { 9 | return fieldValue < Gmt.today().addDays(1); 10 | } 11 | 12 | public override Boolean isGreaterThan(DateTime fieldValue) { 13 | DateTime nextNDays = Gmt.today().addDays(this.n); 14 | return fieldValue >= nextNDays.addDays(1); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/Parser.md: -------------------------------------------------------------------------------- 1 | # Parser Class 2 | 3 | `SUPPRESSWARNINGS` 4 | 5 | The parser breaks down a SOQL query into an AST, to be fed into the parser (MockDatabase) 6 | 7 | **Since** 8 | 9 | 4/6/2024 10 | 11 | **Group** Soql Engine 12 | 13 | **Author** Zackary Frazier 14 | 15 | ## Methods 16 | ### `parse(query)` 17 | 18 | : Parses a trimmed SOQL query into an AST 19 | 20 | #### Signature 21 | ```apex 22 | public Node parse(String query) 23 | ``` 24 | 25 | #### Parameters 26 | | Name | Type | Description | 27 | |------|------|-------------| 28 | | query | String | : String, the query to parse | 29 | 30 | #### Return Type 31 | **[Node](Node.md)** 32 | 33 | : Node, the head of the AST -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/HAVING_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":{"right":null,"nodeType":"having","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"0"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":">"},"id":"having"},"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account GROUP BY Id HAVING COUNT(Id) > 0"} -------------------------------------------------------------------------------- /docs/apexdocs/utilities/ParsingException.md: -------------------------------------------------------------------------------- 1 | # ParsingException Class 2 | 3 | Custom exception for parsing errors 4 | 5 | **Since** 6 | 7 | 4/9/2024 8 | 9 | **Group** Utilities 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Inheritance** 14 | 15 | Exception 16 | 17 | ## Constructors 18 | ### `ParsingException(message, expected)` 19 | 20 | Constructor for a ParsingException 21 | 22 | #### Signature 23 | ```apex 24 | public ParsingException(String message, String expected) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | message | String | ,[object Object], the message to display | 31 | | expected | String | : ,[object Object], the expected token | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for LAST_N_WEEKS 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class LastNWeeksComparable extends DateLiteralComparable { 8 | public override Boolean isLessThan(DateTime fieldValue) { 9 | DateTime lastNWeeks = Gmt.today().toStartOfWeek().addDays(-this.n * 7); 10 | return fieldValue < lastNWeeks; 11 | } 12 | 13 | public override Boolean isGreaterThan(DateTime fieldValue) { 14 | return fieldValue >= Gmt.today().toStartOfWeek(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for TOMORROW 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class TomorrowComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | Date tomorrow = GMT.today().addDays(1); 10 | return fieldValue > tomorrow.addDays(1); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | Date tomorrow = GMT.today().addDays(1); 15 | return fieldValue < tomorrow; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/node/NodeTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | private class NodeTest { 3 | @IsTest 4 | static void toStringActsAsExpected() { 5 | Parser t = new Parser(); 6 | Node head = t.parse('SELECT Id FROM Account'); 7 | 8 | Test.startTest(); 9 | String result = head.toString(); 10 | Test.stopTest(); 11 | 12 | String expectedResult = '{ id: id, nodeType: field }, { id: select, nodeType: select }, { id: account, nodeType: object }, { id: from, nodeType: from }'; 13 | Assert.areEqual( 14 | expectedResult, 15 | result, 16 | 'Expected result to be "' + expectedResult + '"' 17 | ); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/IDateFunc.md: -------------------------------------------------------------------------------- 1 | # IDateFunc Interface 2 | 3 | Interface for date functions 4 | 5 | **Since** 6 | 7 | 1/17/2025 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `calculate(dateOrDateTime)` 15 | 16 | Calculate the date function value for a given date or datetime value 17 | 18 | #### Signature 19 | ```apex 20 | public Integer calculate(Object dateOrDateTime) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | dateOrDateTime | Object | Date or Datetime value to calculate the date function value of | 27 | 28 | #### Return Type 29 | **Integer** 30 | 31 | The date function value of the date or datetime value -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for NEXT_N_WEEKS 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class NextNWeeksComparable extends DateLiteralComparable { 8 | public override Boolean isLessThan(DateTime fieldValue) { 9 | return fieldValue < Gmt.today().toStartOfWeek().addDays(7); 10 | } 11 | 12 | public override Boolean isGreaterThan(DateTime fieldValue) { 13 | DateTime nextNWeeks = Gmt.today().toStartOfWeek().addDays(this.n * 7); 14 | return fieldValue >= nextNWeeks.addDays(1); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/VALUE_LIST_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"value list","left":{"right":null,"nodeType":"string","left":{"right":null,"nodeType":"value list","left":{"right":null,"nodeType":"string","left":null,"id":"test2"},"id":"value list"},"id":"test"},"id":"value list"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"firstname"},"id":"in"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Contact WHERE FirstName IN ('test', 'test2')"} -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/InHandler.md: -------------------------------------------------------------------------------- 1 | # InHandler Class 2 | 3 | Handler for IN operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the IN operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParserTest.cls: -------------------------------------------------------------------------------- 1 | @IsTest 2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts') 3 | private class OrderByParserTest { 4 | @IsTest 5 | static void selectIdFromAccountOrderByNameId() { 6 | ParserTestUtil.assertStaticResource('ORDER_BY_0'); 7 | } 8 | 9 | @IsTest 10 | static void orderByDesc() { 11 | ParserTestUtil.assertStaticResource('ORDER_BY_1'); 12 | } 13 | 14 | @IsTest 15 | static void nullsFirst() { 16 | ParserTestUtil.assertStaticResource('ORDER_BY_2'); 17 | } 18 | 19 | @IsTest 20 | static void nullsLast() { 21 | ParserTestUtil.assertStaticResource('ORDER_BY_3'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/LikeHandler.md: -------------------------------------------------------------------------------- 1 | # LikeHandler Class 2 | 3 | Handles the LIKE operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the LIKE operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/OperatorHandlerFactory.md: -------------------------------------------------------------------------------- 1 | # OperatorHandlerFactory Class 2 | 3 | Provides a factory for creating operator handlers. 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `getHandler(operator)` 15 | 16 | Creates an operator handler based on the operator provided. 17 | 18 | #### Signature 19 | ```apex 20 | public IOperatorHandler getHandler(String operator) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | operator | String | `String` | 27 | 28 | #### Return Type 29 | **[IOperatorHandler](IOperatorHandler.md)** 30 | 31 | ,[object Object] 32 | 33 | #### Throws 34 | QueryException: -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/DateFuncFactory.md: -------------------------------------------------------------------------------- 1 | # DateFuncFactory Class 2 | 3 | Factory class to create date functions by name 4 | 5 | **Since** 6 | 7 | 1/17/2025 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `create(name)` 15 | 16 | Create a date function by name 17 | 18 | #### Signature 19 | ```apex 20 | public static IDateFunc create(String name) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | name | String | Name of the date function to create | 27 | 28 | #### Return Type 29 | **[IDateFunc](IDateFunc.md)** 30 | 31 | Instance of an IDateFunc 32 | 33 | #### Throws 34 | IllegalArgumentException: if the name is not a valid date function -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/IOperatorHandler.md: -------------------------------------------------------------------------------- 1 | # IOperatorHandler Interface 2 | 3 | comparison handlers for WHERE and HAVING clauses 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `handle(sObjectFieldValue, fieldValue)` 15 | 16 | Handles the comparison of the field value and the sObject field value 17 | 18 | #### Signature 19 | ```apex 20 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | sObjectFieldValue | Object | `Object` | 27 | | fieldValue | Object | `Object` | 28 | 29 | #### Return Type 30 | **Boolean** 31 | 32 | ,[object Object] -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/NotInHandler.md: -------------------------------------------------------------------------------- 1 | # NotInHandler Class 2 | 3 | Handles the NotIn operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the NotIn operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_YEAR_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"name"},"id":"select"},"query":"SELECT Name, CALENDAR_YEAR(CreatedDate) FROM Account GROUP BY Name, CALENDAR_YEAR(CreatedDate)"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for THIS_MONTH 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class ThisMonthComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime startOfMonth = Gmt.today().toStartOfMonth(); 10 | return fieldValue >= startOfMonth.addMonths(1); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime startOfMonth = Gmt.today().toStartOfMonth(); 15 | return fieldValue < startOfMonth; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/EqualityHandler.md: -------------------------------------------------------------------------------- 1 | # EqualityHandler Class 2 | 3 | Handles the equality operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the equality operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/ExcludesHandler.md: -------------------------------------------------------------------------------- 1 | # ExcludesHandler Class 2 | 3 | Handles the excludes operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the excludes operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/ALIAS_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"account.name"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"acctName"},"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"name"},"id":"account.name"},"id":"select"},"query":"SELECT Account.Name acctName, Name, COUNT(Id) FROM Contact GROUP BY Name, Account.Name"} -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for LAST_WEEK 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class LastWeekComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(-7); 10 | return fieldValue >= startOfWeek.addDays(7); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(-7); 15 | return fieldValue < startOfWeek; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for NEXT_WEEK 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class NextWeekComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(7); 10 | return fieldValue >= startOfWeek.addDays(7); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(7); 15 | return fieldValue < startOfWeek; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable for the THIS_FISCAL_YEAR token 3 | * @author Zackary Frazier 4 | * @since 1/7/2025 5 | * @group Soql Engine 6 | */ 7 | public with sharing class ThisFiscalYearComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(Datetime fieldValue) { 9 | Date orgFiscalYear = Gmt.startOfThisFiscalYear(); 10 | return fieldValue >= orgFiscalYear.addYears(1); 11 | } 12 | 13 | public override Boolean isLessThan(Datetime fieldValue) { 14 | Date orgFiscalYear = Gmt.startOfThisFiscalYear(); 15 | return fieldValue < orgFiscalYear; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/CALENDAR_QUARTER_0.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_quarter"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_quarter"},"id":"name"},"id":"select"},"query":"SELECT Name, CALENDAR_QUARTER(CreatedDate) FROM Account GROUP BY Name, CALENDAR_QUARTER(CreatedDate)"} -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/InequalityHandler.md: -------------------------------------------------------------------------------- 1 | # InequalityHandler Class 2 | 3 | Handles the inequality operator 4 | 5 | **Since** 6 | 7 | 3/23/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | **Implements** 14 | 15 | [IOperatorHandler](IOperatorHandler.md) 16 | 17 | ## Methods 18 | ### `handle(sObjectFieldValue, fieldValue)` 19 | 20 | Handles the inequality operator 21 | 22 | #### Signature 23 | ```apex 24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue) 25 | ``` 26 | 27 | #### Parameters 28 | | Name | Type | Description | 29 | |------|------|-------------| 30 | | sObjectFieldValue | Object | `Object` | 31 | | fieldValue | Object | `Object` | 32 | 33 | #### Return Type 34 | **Boolean** 35 | 36 | ,[object Object] -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for THIS_WEEK 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class ThisWeekComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime startOfWeek = Gmt.dateTime(Gmt.today().toStartOfWeek()); 10 | return fieldValue >= startOfWeek.addDays(7); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime startOfWeek = Gmt.dateTime(Gmt.today().toStartOfWeek()); 15 | return fieldValue < startOfWeek; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/WHERE_1.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"accountid"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"in"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Id IN (SELECT AccountId FROM Contact)"} -------------------------------------------------------------------------------- /docs/apexdocs/soql-engine/DateFuncs.md: -------------------------------------------------------------------------------- 1 | # DateFuncs Class 2 | 3 | Repository of aggregate date functions 4 | 5 | **Since** 6 | 7 | 4/28/2024 8 | 9 | **Group** Soql Engine 10 | 11 | **Author** Zackary Frazier 12 | 13 | ## Methods 14 | ### `execute(dateFunc, dateOrDateTimeValue)` 15 | 16 | Determins which date function to execute and executes it 17 | 18 | #### Signature 19 | ```apex 20 | public static Integer execute(String dateFunc, Object dateOrDateTimeValue) 21 | ``` 22 | 23 | #### Parameters 24 | | Name | Type | Description | 25 | |------|------|-------------| 26 | | dateFunc | String | `String` | 27 | | dateOrDateTimeValue | Object | `Date|Datetime` | 28 | 29 | #### Return Type 30 | **Integer** 31 | 32 | ,[object Object] 33 | 34 | #### Throws 35 | IllegalArgumentException: -------------------------------------------------------------------------------- /moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparable.cls: -------------------------------------------------------------------------------- 1 | /** 2 | * @description Comparable class for LAST_MONTH 3 | * @author Zackary Frazier 4 | * @since 12/29/2024 5 | * @group Soql Engine 6 | */ 7 | public with sharing class LastMonthComparable extends DateLiteralComparable { 8 | public override Boolean isGreaterThan(DateTime fieldValue) { 9 | DateTime startOfMonth = Gmt.today().toStartOfMonth().addMonths(-1); 10 | return fieldValue >= startOfMonth.addMonths(1); 11 | } 12 | 13 | public override Boolean isLessThan(DateTime fieldValue) { 14 | DateTime startOfMonth = Gmt.today().toStartOfMonth().addMonths(-1); 15 | return fieldValue < startOfMonth; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moxygen/main/default/staticresources/SELECT_9.json: -------------------------------------------------------------------------------- 1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"lastname"},"id":"firstname"},"id":"id"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name, (SELECT Id, FirstName, LastName FROM Contacts) FROM Account"} --------------------------------------------------------------------------------