Skip to content

Instantly share code, notes, and snippets.

@Service
public class GraphQLRuleService {
// fetches messages from appropriate .prop file
@Autowired
private final MessagesService messagesService;
public RuleSingle stringNonBlank(final String argumentName, final String fieldName) {
return new RuleSingle() {
@Override
public Optional<GraphQLError> applySingle(FieldAndArguments fieldAndArguments, FieldValidationEnvironment environment) {
@aSemy
aSemy / Rules.java
Last active June 1, 2018 14:28
A couple of utils for GraphQL validation rules
// Rule.java
public abstract class Rule
implements BiFunction<FieldAndArguments, FieldValidationEnvironment, Optional<Collection<GraphQLError>>> {
}
// RuleSingle.java
public abstract class RuleSingle extends Rule {
@Override
public final Optional<Collection<GraphQLError>> apply(FieldAndArguments fieldAndArguments,
@aSemy
aSemy / CookieCsrfTokenRepository.java
Last active May 30, 2018 14:38
CookieCsrfTokenRepository
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
final CsrfTokenRepository csrfTokenRepository = CookieCsrfTokenRepository.withHttpOnlyFalse();
http
@aSemy
aSemy / PreAuthorize.java
Created May 30, 2018 14:29
getMeterReadings PreAuthorize
@GraphQLQuery(name = "getMeterReadings")
@PreAuthorize("isAuthenticated()")
public TreeSet<MeterReadingDTO> getMeterReadings(
// ...
}
@aSemy
aSemy / WebSecurityConfig.java
Last active May 30, 2018 14:29
EnableGlobalMethodSecurity
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
// ...
}