Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// When installing the FormBuilder app on a blank system, defaultLocale will be blank, because I18N app wasn't
// installed yet, meaning no default locale was selected.
let defaultLocale = null;
if (context.i18n.getDefaultLocale()) {
defaultLocale = context.i18n.getDefaultLocale().id;
}
return withFields({
layout: fields({
value: {},
instanceOf: withFields({
renderer: string({ value: "default" })
})()
}),
submitButtonLabel: i18nString({ context }),
successMessage: i18nObject({ context }),
termsOfServiceMessage: fields({
instanceOf: withFields({
message: i18nObject({ context }),
errorMessage: i18nString({ context }),
enabled: boolean()
})()
}),
reCaptcha: fields({
instanceOf: flow(
withProps({
settings: {
get enabled() {
return new Promise(async resolve => {
const settings = await FormSettings.load();
resolve(Boolean(get(settings, "data.reCaptcha.enabled")));
// When installing the FormBuilder app on a blank system, defaultLocale will be blank, because I18N app wasn't
// installed yet, meaning no default locale was selected.
let defaultLocale = null;
if (context.i18n.getDefaultLocale()) {
defaultLocale = context.i18n.getDefaultLocale().id;
}
return withFields({
layout: fields({
value: {},
instanceOf: withFields({
renderer: string({ value: "default" })
})()
}),
submitButtonLabel: i18nString({ context }),
successMessage: i18nObject({ context }),
termsOfServiceMessage: fields({
instanceOf: withFields({
message: i18nObject({ context }),
errorMessage: i18nString({ context }),
enabled: boolean()
})()
}),
reCaptcha: fields({
instanceOf: flow(
withProps({
settings: {
get enabled() {
return new Promise(async resolve => {
const settings = await FormSettings.load();
resolve(Boolean(get(settings, "data.reCaptcha.enabled")));
});
// @flow
import { type EntityPluginType } from "@webiny/api/types";
import * as entities from "@webiny/api-i18n/entities";
const i18nLocale: EntityPluginType = {
name: "entity-i18n-locale",
type: "entity",
entity: entities.i18nLocaleFactory
};
export default [i18nLocale];
export default context =>
withFields({
_id: string({ validation: validation.create("required") }),
type: string({ validation: validation.create("required") }),
name: string({ validation: validation.create("required") }),
fieldId: string({ validation: validation.create("required") }),
label: i18nString({ context }),
helpText: i18nString({ context }),
placeholderText: i18nString({ context }),
options: fields({
list: true,
instanceOf: withFields({
label: i18nString({ context }),
value: string({ value: "" })
})()
}),
validation: fields({
list: true,
instanceOf: withFields({
name: string({ validation: validation.create("required") }),
message: i18nString({ context }),
settings: object({ value: {} })
})()
}),
defaultLocale = context.i18n.getDefaultLocale().id;
}
return withFields({
layout: fields({
value: {},
instanceOf: withFields({
renderer: string({ value: "default" })
})()
}),
submitButtonLabel: i18nString({ context }),
successMessage: i18nObject({ context }),
termsOfServiceMessage: fields({
instanceOf: withFields({
message: i18nObject({ context }),
errorMessage: i18nString({ context }),
enabled: boolean()
})()
}),
reCaptcha: fields({
instanceOf: flow(
withProps({
settings: {
get enabled() {
return new Promise(async resolve => {
const settings = await FormSettings.load();
resolve(Boolean(get(settings, "data.reCaptcha.enabled")));
});
},
get siteKey() {
return new Promise(async resolve => {
const settings = await FormSettings.load();
export default context =>
withFields({
_id: string({ validation: validation.create("required") }),
type: string({ validation: validation.create("required") }),
name: string({ validation: validation.create("required") }),
fieldId: string({ validation: validation.create("required") }),
label: i18nString({ context }),
helpText: i18nString({ context }),
placeholderText: i18nString({ context }),
options: fields({
list: true,
instanceOf: withFields({
label: i18nString({ context }),
value: string({ value: "" })
})()
}),
validation: fields({
list: true,
instanceOf: withFields({
name: string({ validation: validation.create("required") }),
message: i18nString({ context }),
settings: object({ value: {} })
})()
}),
settings: object({ value: {} })
})();
export default context =>
withFields({
_id: string({ validation: validation.create("required") }),
type: string({ validation: validation.create("required") }),
name: string({ validation: validation.create("required") }),
fieldId: string({ validation: validation.create("required") }),
label: i18nString({ context }),
helpText: i18nString({ context }),
placeholderText: i18nString({ context }),
options: fields({
list: true,
instanceOf: withFields({
label: i18nString({ context }),
value: string({ value: "" })
})()
}),
validation: fields({
list: true,
instanceOf: withFields({
name: string({ validation: validation.create("required") }),
message: i18nString({ context }),
settings: object({ value: {} })
})()
}),
settings: object({ value: {} })
fieldId: string({ validation: validation.create("required") }),
label: i18nString({ context }),
helpText: i18nString({ context }),
placeholderText: i18nString({ context }),
options: fields({
list: true,
instanceOf: withFields({
label: i18nString({ context }),
value: string({ value: "" })
})()
}),
validation: fields({
list: true,
instanceOf: withFields({
name: string({ validation: validation.create("required") }),
message: i18nString({ context }),
settings: object({ value: {} })
})()
}),
settings: object({ value: {} })
})();
if (context.i18n.getDefaultLocale()) {
defaultLocale = context.i18n.getDefaultLocale().id;
}
return withFields({
layout: fields({
value: {},
instanceOf: withFields({
renderer: string({ value: "default" })
})()
}),
submitButtonLabel: i18nString({ context }),
successMessage: i18nObject({ context }),
termsOfServiceMessage: fields({
instanceOf: withFields({
message: i18nObject({ context }),
errorMessage: i18nString({ context }),
enabled: boolean()
})()
}),
reCaptcha: fields({
instanceOf: flow(
withProps({
settings: {
get enabled() {
return new Promise(async resolve => {
const settings = await FormSettings.load();
resolve(Boolean(get(settings, "data.reCaptcha.enabled")));
});
},
get siteKey() {
return new Promise(async resolve => {
export const handler = async (event: Object, context: Object) => {
if (!apolloHandler) {
const config = await createConfig();
const plugins = new PluginsContainer([
/*securityPlugins,*/ i18nPlugins(config)
]);
const { handler } = await createHandler({ plugins, config });
apolloHandler = handler;
}
return apolloHandler(event, context);
};