Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,18 @@
{
"extends": ["../../../../.eslintrc.json"],
"ignorePatterns": ["!**/*", "package.json"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-totalcms
This library was generated with [Nx](https://nx.dev).
## Building
Run `nx build pieces-totalcms` to build the library.

View File

@@ -0,0 +1,4 @@
{
"name": "@activepieces/piece-totalcms",
"version": "0.0.13"
}

View File

@@ -0,0 +1,57 @@
{
"name": "pieces-totalcms",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/totalcms/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/totalcms",
"tsConfig": "packages/pieces/community/totalcms/tsconfig.lib.json",
"packageJson": "packages/pieces/community/totalcms/package.json",
"main": "packages/pieces/community/totalcms/src/index.ts",
"assets": [
"packages/pieces/community/totalcms/*.md",
{
"input": "packages/pieces/community/totalcms/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"publish": {
"command": "node tools/scripts/publish.mjs pieces-totalcms {args.ver} {args.tag}",
"dependsOn": [
"build"
]
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/totalcms",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
},
"tags": []
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Content Management System für moderne Websites",
"Total CMS Domain": "Gesamte CMS-Domain",
"License Key": "Lizenzschlüssel",
"The domain of your Total CMS website": "Die Domain Ihrer Gesamt-CMS-Website",
"The License key for your Total CMS domain": "Der Lizenzschlüssel für Ihre gesamte CMS-Domain",
"Setup your Total CMS connection": "Richten Sie Ihre gesamte CMS-Verbindung ein",
"Get Content": "Get Content",
"Get Blog Post": "Blogbeitrag erhalten",
"Save Blog Post": "Blogbeitrag speichern",
"Save Blog Post Gallery Image": "Blog Post Galerie Bild speichern",
"Save Blog Post Image": "Blog-Beitragsbild speichern",
"Save Date Content": "Datumsinhalt speichern",
"Save Depot": "Lager speichern",
"Save File": "Datei speichern",
"Save Gallery Image": "Galeriebild speichern",
"Save Image": "Bild speichern",
"Save Text Content": "Textinhalt speichern",
"Save Toggle": "Toggle speichern",
"Save Video Content": "Videoinhalt speichern",
"Custom API Call": "Eigener API-Aufruf",
"Get content from your Total CMS website": "Holen Sie sich Inhalte von Ihrer gesamten CMS-Website",
"Get a blog post from Total CMS": "Erhalten Sie einen Blogbeitrag von Total CMS",
"Save blog content to Total CMS": "Blog-Inhalt als Gesamt-CMS speichern",
"Save image to Total CMS blog post gallery": "Bild in der gesamten CMS Beitragsgalerie speichern",
"Save image to Total CMS blog post": "Bild in Total CMS Blog Beitrag speichern",
"Save date content to Total CMS": "Datumsinhalt als Gesamt-CMS speichern",
"Save file to Total CMS depot": "Datei im gesamten CMS-Depot speichern",
"Save file to Total CMS": "Datei in Total CMS speichern",
"Save image to Total CMS gallery": "Bild in der Gesamten CMS-Galerie speichern",
"Save image to Total CMS": "Bild als Gesamt-CMS speichern",
"Save text content to Total CMS": "Textinhalt als Gesamt-CMS speichern",
"Save toggle content to Total CMS": "Inhalt als Gesamt-CMS speichern",
"Save video content to Total CMS": "Videoinhalt als Gesamt-CMS speichern",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"Data Type": "Datentyp",
"CMS ID": "CMS-ID",
"Permalink": "Permalink",
"Title": "Titel",
"Date (Unix Timestamp)": "Datum (Unix-Zeitstempel)",
"Summary": "Summary",
"Content": "Inhalt",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Medien",
"RSS Title": "RSS-Titel",
"RSS Description": "RSS-Beschreibung",
"Author": "Autor",
"Genre": "Genre",
"Categories": "Kategorien",
"Tags": "Tags",
"Labels": "Etiketten",
"Draft": "Entwurf",
"Featured": "Vorgeschlagen",
"Archived": "Archiviert",
"Image": "Bild",
"Alt Text": "Alt Text",
"Thumbnail Quality": "Miniaturansicht Qualität",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Miniaturbild Quadrat Skalierung",
"Thumbnail Resize Method": "Miniaturbild-Größenänderung Methode",
"Thumbnail Landscape Crop": "Miniaturansicht Querformat Crop",
"Pull Alt Text from Meta Data": "Alttext aus Metadaten ziehen",
"Unix Timestamp": "Unix-Zeitstempel",
"File": "Datei",
"File Extension": "Dateiendung",
"Extension": "Erweiterung",
"Text Content": "Textinhalt",
"Status": "Status",
"Video URL": "Video-URL",
"Method": "Methode",
"Headers": "Kopfzeilen",
"Query Parameters": "Abfrageparameter",
"Body": "Körper",
"Response is Binary ?": "Antwort ist binär?",
"No Error on Failure": "Kein Fehler bei Fehler",
"Timeout (in seconds)": "Timeout (in Sekunden)",
"The type of data to return": "Die Art der zurückzugebenden Daten",
"The CMS ID of the content to retrieve": "Die CMS-ID des abzuholenden Inhalts",
"The permalink of the post to retrieve": "Der Permalink des zu empfangenen Beitrags",
"The CMS ID of the content to save": "Die CMS-ID des zu speichernden Inhalts",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "Der Permalink des Blogeintrags. Vergewissern Sie sich, dass dies einzigartig ist oder es wird den vorhandenen Beitrag überschreiben.",
"The title of the blog post": "Der Titel des Blog-Beitrags",
"The date in unix timestamp format": "Das Datum im Unix-Zeitstempel-Format",
"The summary of the blog post": "Die Zusammenfassung des Blogeintrags",
"The content of the blog post": "Der Inhalt des Blogeintrags",
"The extra content of the blog post": "Der zusätzliche Inhalt des Blogeintrags",
"The extra content 2 of the blog post": "Der zusätzliche Inhalt 2 des Blogeintrags",
"The media of the blog post": "Die Medien des Blog-Beitrags",
"The RSS title of the blog post": "Der RSS-Titel des Blogeintrags",
"The RSS description of the blog post": "Die RSS-Beschreibung des Blogeintrags",
"The author of the blog post": "Der Autor des Blogeintrags",
"The genre of the blog post": "Das Genre des Blog-Beitrags",
"A comma separated list of categories for the blog post": "Eine kommagetrennte Liste von Kategorien für den Blogbeitrag",
"A comma separated list of tags for the blog post": "Eine kommagetrennte Liste von Tags für den Blogbeitrag",
"A comma separated list of labels for the blog post": "Eine kommagetrennte Liste von Labels für den Blog-Beitrag",
"Set to true to save as a draft": "Auf true setzen um als Entwurf zu speichern",
"Set to true to save as a featured post": "Auf true setzen, um als empfohlener Beitrag zu speichern",
"Set to true to save as an archived post": "Auf true setzen um als archivierten Beitrag zu speichern",
"The CMS ID of the blog to save": "Die CMS-ID des zu speichernden Blogs",
"The permalink of the blog post to save": "Der Permalink des zu speichernden Blogeintrags",
"The image to save": "Das zu speichernde Bild",
"The alt text for the image": "Der Alt-Text für das Bild",
"The quality of the thumbnail": "Die Qualität des Thumbnails",
"The scale of the thumbnail": "Die Skala des Thumbnails",
"The scale of the square thumbnail": "Die Skala des quadratischen Miniaturbildes",
"The method to use when resizing the thumbnail": "Die Methode, die bei der Größenänderung des Thumbnails verwendet wird",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "Die Methode, die beim Zuschneiden des Querformat Thumbnail für das Quadrat verwendet wird",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Ziehen Sie den Alt-Text aus den Meta-Daten des Bildes. Wenn gesetzt, legen Sie Platzhaltertext in das alt-Textfeld oben ein.",
"The unix timestamp to save": "Der zu speichernde Unix-Zeitstempel",
"The CMS ID of the depot to save": "Die CMS-ID des zu speichernden Depots",
"The file to save": "Die zu speichernde Datei",
"The CMS ID of the file to save": "Die CMS-ID der zu speichernden Datei",
"The file extension of the file": "Die Dateiendung der Datei",
"The CMS ID of the gallery to save": "Die CMS-ID der Galerie zum Speichern",
"The extension of the image": "Die Erweiterung des Bildes",
"The text content to save": "Der zu speichernde Text",
"The status of the toggle. \"true\" is on, \"false\" is off.": "Der Status des Schalters. \"true\" ist eingeschaltet, \"falsch\" ist aus.",
"The URL of the video to save": "Die URL des zu speichernden Videos",
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Datum",
"Depot": "Lager",
"Feed": "Feed",
"Gallery": "Galerie",
"Ratings": "Bewertungen",
"Text": "Text",
"Toggle": "Umschalten",
"Video": "Video",
"Auto": "Auto",
"Landscape": "Querformat",
"Portrait": "Hochformat",
"Left": "Links",
"Center": "Zentriert",
"Right": "Rechts",
"Top": "Oben",
"Middle": "Mitte",
"Bottom": "Unten",
"jpg": "jpg",
"png": "png",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD",
"New Blog Post": "Neuer Blog-Beitrag",
"Triggers when a new blog post is published": "Wird ausgelöst, wenn ein neuer Blogbeitrag veröffentlicht wird"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Sistema de gestión de contenidos para sitios web modernos",
"Total CMS Domain": "Total dominio CMS",
"License Key": "Clave de licencia",
"The domain of your Total CMS website": "El dominio de su sitio web CMS total",
"The License key for your Total CMS domain": "La clave de licencia para su dominio CMS total",
"Setup your Total CMS connection": "Configurar su conexión CMS total",
"Get Content": "Get Content",
"Get Blog Post": "Obtener entrada de blog",
"Save Blog Post": "Guardar Blog Post",
"Save Blog Post Gallery Image": "Guardar imagen del Blog Post",
"Save Blog Post Image": "Guardar Imagen del Blog Post",
"Save Date Content": "Guardar fecha de contenido",
"Save Depot": "Guardar almacén",
"Save File": "Guardar archivo",
"Save Gallery Image": "Guardar imagen de galería",
"Save Image": "Guardar imagen",
"Save Text Content": "Guardar contenido de texto",
"Save Toggle": "Guardar alternativo",
"Save Video Content": "Guardar contenido de vídeo",
"Custom API Call": "Llamada API personalizada",
"Get content from your Total CMS website": "Obtener contenido de su sitio web CMS total",
"Get a blog post from Total CMS": "Obtener una entrada del blog del CMS total",
"Save blog content to Total CMS": "Guardar contenido del blog al CMS total",
"Save image to Total CMS blog post gallery": "Guardar imagen en la galería total de entradas de blog CMS",
"Save image to Total CMS blog post": "Guardar imagen en total entrada de blog CMS",
"Save date content to Total CMS": "Guardar el contenido de la fecha en Total de CMS",
"Save file to Total CMS depot": "Guardar archivo en total almacén CMS",
"Save file to Total CMS": "Guardar archivo en total CMS",
"Save image to Total CMS gallery": "Guardar imagen en la galería CMS total",
"Save image to Total CMS": "Guardar imagen en total CMS",
"Save text content to Total CMS": "Guardar contenido de texto al CMS total",
"Save toggle content to Total CMS": "Guardar el contenido del interruptor al CMS total",
"Save video content to Total CMS": "Guardar contenido de vídeo en CMS Total",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"Data Type": "Tipo de Datos",
"CMS ID": "ID CMS",
"Permalink": "Enlace permanente",
"Title": "Título",
"Date (Unix Timestamp)": "Fecha (Timestamp Unix)",
"Summary": "Summary",
"Content": "Contenido",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Medios",
"RSS Title": "Título RSS",
"RSS Description": "Descripción RSS",
"Author": "Autor",
"Genre": "Género",
"Categories": "Categorías",
"Tags": "Etiquetas",
"Labels": "Etiquetas",
"Draft": "Borrador",
"Featured": "Destacado",
"Archived": "Archivado",
"Image": "Imagen",
"Alt Text": "Texto Alt",
"Thumbnail Quality": "Calidad de miniatura",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Escala cuadrada de miniatura",
"Thumbnail Resize Method": "Método de cambio de tamaño de miniatura",
"Thumbnail Landscape Crop": "Recorte en miniatura",
"Pull Alt Text from Meta Data": "Desplegar texto Alt de Meta Data",
"Unix Timestamp": "Timestamp Unix",
"File": "Archivo",
"File Extension": "Extensión de archivo",
"Extension": "Extensión",
"Text Content": "Contenido de texto",
"Status": "Estado",
"Video URL": "URL del vídeo",
"Method": "Método",
"Headers": "Encabezados",
"Query Parameters": "Parámetros de consulta",
"Body": "Cuerpo",
"Response is Binary ?": "¿Respuesta es binaria?",
"No Error on Failure": "No hay ningún error en fallo",
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
"The type of data to return": "El tipo de datos a devolver",
"The CMS ID of the content to retrieve": "El CMS ID del contenido a recuperar",
"The permalink of the post to retrieve": "El enlace permanente del post a recuperar",
"The CMS ID of the content to save": "El CMS ID del contenido a guardar",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "La vinculación permanente de la entrada del blog. Asegúrate de que esto es único o sobrescribirá el post existente.",
"The title of the blog post": "El título de la entrada del blog",
"The date in unix timestamp format": "La fecha en formato de marca de tiempo unix",
"The summary of the blog post": "El resumen de la entrada del blog",
"The content of the blog post": "El contenido de la entrada del blog",
"The extra content of the blog post": "El contenido extra de la entrada del blog",
"The extra content 2 of the blog post": "El contenido adicional 2 de la entrada del blog",
"The media of the blog post": "Los medios de la entrada del blog",
"The RSS title of the blog post": "El título RSS de la entrada del blog",
"The RSS description of the blog post": "La descripción RSS de la entrada del blog",
"The author of the blog post": "El autor de la entrada del blog",
"The genre of the blog post": "El género de la entrada del blog",
"A comma separated list of categories for the blog post": "Una lista separada por comas de categorías para la entrada del blog",
"A comma separated list of tags for the blog post": "Una lista separada por comas de etiquetas para la entrada del blog",
"A comma separated list of labels for the blog post": "Una lista separada por comas de etiquetas para la entrada del blog",
"Set to true to save as a draft": "Establecer como verdadero para guardar como borrador",
"Set to true to save as a featured post": "Establecer como verdadero para guardar como publicación destacada",
"Set to true to save as an archived post": "Establecer como verdadero para guardar como un post archivado",
"The CMS ID of the blog to save": "El CMS ID del blog para guardar",
"The permalink of the blog post to save": "La vinculación permanente de la entrada del blog para guardar",
"The image to save": "La imagen a guardar",
"The alt text for the image": "El texto alternativo para la imagen",
"The quality of the thumbnail": "La calidad de la miniatura",
"The scale of the thumbnail": "La escala de la miniatura",
"The scale of the square thumbnail": "La escala de la miniatura cuadrada",
"The method to use when resizing the thumbnail": "El método a usar al redimensionar la miniatura",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "El método a usar al recortar el paisaje miniatura de la miniatura cuadrada",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Desliza el texto alternativo de los meta-datos de la imagen. Si se establece, coloca el texto alternativo en el campo de texto anterior.",
"The unix timestamp to save": "La marca de tiempo unix a guardar",
"The CMS ID of the depot to save": "El CMS ID del almacén para guardar",
"The file to save": "El archivo a guardar",
"The CMS ID of the file to save": "El CMS ID del archivo a guardar",
"The file extension of the file": "La extensión del archivo",
"The CMS ID of the gallery to save": "El CMS ID de la galería para guardar",
"The extension of the image": "La extensión de la imagen",
"The text content to save": "El contenido del texto a guardar",
"The status of the toggle. \"true\" is on, \"false\" is off.": "El estado del interruptor. \"true\" está encendido, \"falso\" está apagado.",
"The URL of the video to save": "La URL del vídeo a guardar",
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Fecha",
"Depot": "Almacén",
"Feed": "Alimentación",
"Gallery": "Galería",
"Ratings": "Calificaciones",
"Text": "Texto",
"Toggle": "Cambiar",
"Video": "Vídeo",
"Auto": "Auto",
"Landscape": "Paisaje",
"Portrait": "Retrato",
"Left": "Queda",
"Center": "Centrar",
"Right": "Derecha",
"Top": "Subir",
"Middle": "Medio",
"Bottom": "Abajo",
"jpg": "jpg",
"png": "png",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO",
"New Blog Post": "Nueva entrada",
"Triggers when a new blog post is published": "Dispara cuando se publica una nueva entrada de blog"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Système de gestion de contenu pour les sites Web modernes",
"Total CMS Domain": "Domaine CMS total",
"License Key": "Clé de licence",
"The domain of your Total CMS website": "Le domaine de votre site web Total CMS",
"The License key for your Total CMS domain": "La clé de licence pour votre domaine CMS total",
"Setup your Total CMS connection": "Configurez votre connexion CMS totale",
"Get Content": "Get Content",
"Get Blog Post": "Obtenir un article de blog",
"Save Blog Post": "Enregistrer le billet de blog",
"Save Blog Post Gallery Image": "Enregistrer l'image de la galerie d'article de blog",
"Save Blog Post Image": "Enregistrer l'image du billet de blog",
"Save Date Content": "Enregistrer le contenu de la date",
"Save Depot": "Enregistrer Dépôt",
"Save File": "Enregistrer le fichier",
"Save Gallery Image": "Enregistrer l'image de la galerie",
"Save Image": "Enregistrer l'image",
"Save Text Content": "Enregistrer le contenu du texte",
"Save Toggle": "Enregistrer le bouton",
"Save Video Content": "Enregistrer le contenu vidéo",
"Custom API Call": "Appel d'API personnalisé",
"Get content from your Total CMS website": "Obtenir du contenu de votre site web CMS Total",
"Get a blog post from Total CMS": "Obtenir un article de blog depuis le CMS Total",
"Save blog content to Total CMS": "Enregistrer le contenu du blog dans le CMS total",
"Save image to Total CMS blog post gallery": "Enregistrer l'image dans la galerie de blog CMS",
"Save image to Total CMS blog post": "Enregistrer l'image sur le blog CMS total",
"Save date content to Total CMS": "Enregistrer le contenu de la date dans le CMS total",
"Save file to Total CMS depot": "Enregistrer le fichier dans le dépôt CMS total",
"Save file to Total CMS": "Enregistrer le fichier dans le CMS total",
"Save image to Total CMS gallery": "Enregistrer l'image dans la galerie CMS totale",
"Save image to Total CMS": "Enregistrer l'image sur le CMS total",
"Save text content to Total CMS": "Enregistrer le contenu du texte dans le CMS total",
"Save toggle content to Total CMS": "Enregistrer le contenu bascule sur le CMS total",
"Save video content to Total CMS": "Enregistrer le contenu vidéo dans le CMS total",
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
"Data Type": "Type de données",
"CMS ID": "ID CMS",
"Permalink": "Permalien",
"Title": "Titre de la page",
"Date (Unix Timestamp)": "Date (Horodatage Unix)",
"Summary": "Résumé",
"Content": "Contenus",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Médias",
"RSS Title": "Titre du flux RSS",
"RSS Description": "Description du flux RSS",
"Author": "Auteur",
"Genre": "Genre",
"Categories": "Catégories",
"Tags": "Tags",
"Labels": "Étiquettes",
"Draft": "Brouillon",
"Featured": "Populaires",
"Archived": "Archivé",
"Image": "Image",
"Alt Text": "Texte Alt",
"Thumbnail Quality": "Qualité de la miniature",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Échelle de la vignette carrée",
"Thumbnail Resize Method": "Méthode de redimensionnement des vignettes",
"Thumbnail Landscape Crop": "Miniature en mode paysage",
"Pull Alt Text from Meta Data": "Tirer le texte Alt à partir de métadonnées",
"Unix Timestamp": "Horodatage Unix",
"File": "Ficher",
"File Extension": "Extension de fichier",
"Extension": "Extension",
"Text Content": "Contenu du texte",
"Status": "Statut",
"Video URL": "URL de la vidéo",
"Method": "Méthode",
"Headers": "En-têtes",
"Query Parameters": "Paramètres de requête",
"Body": "Corps",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'expiration (en secondes)",
"The type of data to return": "Le type de données à retourner",
"The CMS ID of the content to retrieve": "L'ID CMS du contenu à récupérer",
"The permalink of the post to retrieve": "Le permalien du message à récupérer",
"The CMS ID of the content to save": "L'ID CMS du contenu à enregistrer",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "Le permalien du billet de blog. Assurez-vous qu'il est unique ou qu'il écrasera le message existant.",
"The title of the blog post": "Le titre du billet de blog",
"The date in unix timestamp format": "La date au format d'horodatage unix",
"The summary of the blog post": "Le résumé de la publication du blog",
"The content of the blog post": "Le contenu du post de blog",
"The extra content of the blog post": "Le contenu supplémentaire de la publication du blog",
"The extra content 2 of the blog post": "Le contenu supplémentaire 2 du billet de blog",
"The media of the blog post": "Les médias du blog",
"The RSS title of the blog post": "Le titre RSS de la publication du blog",
"The RSS description of the blog post": "La description RSS de la publication du blog",
"The author of the blog post": "L'auteur du post de blog",
"The genre of the blog post": "Le genre du billet de blog",
"A comma separated list of categories for the blog post": "Une liste de catégories séparées par des virgules pour le billet de blog",
"A comma separated list of tags for the blog post": "Une liste de balises séparées par des virgules pour le billet de blog",
"A comma separated list of labels for the blog post": "Une liste d'étiquettes séparées par des virgules pour le billet de blog",
"Set to true to save as a draft": "Définir à vrai pour enregistrer comme brouillon",
"Set to true to save as a featured post": "Définir à vrai pour enregistrer en tant que publication en vedette",
"Set to true to save as an archived post": "Définir à vrai pour enregistrer en tant que publication archivée",
"The CMS ID of the blog to save": "L'ID CMS du blog à enregistrer",
"The permalink of the blog post to save": "Le permalien du billet de blog à enregistrer",
"The image to save": "L'image à enregistrer",
"The alt text for the image": "Le texte alt pour l'image",
"The quality of the thumbnail": "La qualité de la vignette",
"The scale of the thumbnail": "L'échelle de la miniature",
"The scale of the square thumbnail": "L'échelle de la vignette carrée",
"The method to use when resizing the thumbnail": "La méthode à utiliser lors du redimensionnement de la miniature",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "La méthode à utiliser lors du recadrage de la vignette paysage pour la vignette carrée",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Tirez le texte alt des méta-données de l'image. Si défini, placez le texte dans le champ texte alt ci-dessus.",
"The unix timestamp to save": "L'horodatage unix à enregistrer",
"The CMS ID of the depot to save": "L'ID CMS du dépôt à enregistrer",
"The file to save": "Le fichier à enregistrer",
"The CMS ID of the file to save": "L'ID CMS du fichier à enregistrer",
"The file extension of the file": "L'extension du fichier",
"The CMS ID of the gallery to save": "L'ID CMS de la galerie à enregistrer",
"The extension of the image": "L'extension de l'image",
"The text content to save": "Le contenu du texte à enregistrer",
"The status of the toggle. \"true\" is on, \"false\" is off.": "Le statut du commutateur. \"true\" est activé, \"false\" est désactivé.",
"The URL of the video to save": "L'URL de la vidéo à enregistrer",
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
"Blog": "Blogue",
"Datastore": "Datastore",
"Date": "Date",
"Depot": "Dépôt",
"Feed": "Flux",
"Gallery": "Galerie",
"Ratings": "Évaluations",
"Text": "Texte du texte",
"Toggle": "Activer/désactiver",
"Video": "Vidéo",
"Auto": "Automatique",
"Landscape": "Paysage",
"Portrait": "Portrait",
"Left": "Gauche",
"Center": "Centrer",
"Right": "Droite",
"Top": "En haut",
"Middle": "Milieu",
"Bottom": "Bas",
"jpg": "Jpg",
"png": "png",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Blog Post": "Nouveau billet de blog",
"Triggers when a new blog post is published": "Déclenche quand un nouveau blog est publié"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "現代のウェブサイトのためのコンテンツ管理システム",
"Total CMS Domain": "CMSドメインの合計",
"License Key": "ライセンス キー",
"The domain of your Total CMS website": "Total CMS Web サイトのドメイン",
"The License key for your Total CMS domain": "CMSドメインのライセンスキーです。",
"Setup your Total CMS connection": "CMS接続の設定",
"Get Content": "Get Content",
"Get Blog Post": "ブログ記事を取得",
"Save Blog Post": "ブログ記事を保存",
"Save Blog Post Gallery Image": "ブログ記事のギャラリー画像を保存",
"Save Blog Post Image": "ブログ記事の画像を保存",
"Save Date Content": "日付の内容を保存",
"Save Depot": "倉庫を保存",
"Save File": "ファイルを保存",
"Save Gallery Image": "ギャラリー画像を保存",
"Save Image": "画像を保存",
"Save Text Content": "テキストの内容を保存",
"Save Toggle": "トグルを保存",
"Save Video Content": "ビデオコンテンツを保存",
"Custom API Call": "カスタムAPI通話",
"Get content from your Total CMS website": "Total CMS Web サイトからコンテンツを取得する",
"Get a blog post from Total CMS": "Total CMS からブログ記事を取得",
"Save blog content to Total CMS": "ブログコンテンツを総CMSに保存",
"Save image to Total CMS blog post gallery": "画像を総CMSブログ投稿ギャラリーに保存",
"Save image to Total CMS blog post": "画像を総CMSブログ記事に保存",
"Save date content to Total CMS": "日付の内容を合計CMSに保存",
"Save file to Total CMS depot": "ファイルを合計CMSデポに保存",
"Save file to Total CMS": "ファイルを合計CMSに保存",
"Save image to Total CMS gallery": "画像を総CMSギャラリーに保存",
"Save image to Total CMS": "画像を総CMSに保存",
"Save text content to Total CMS": "テキストコンテンツを合計CMSに保存",
"Save toggle content to Total CMS": "CMS全体に切り替えコンテンツを保存する",
"Save video content to Total CMS": "動画コンテンツを総CMSに保存",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"Data Type": "データタイプ",
"CMS ID": "CMS ID",
"Permalink": "パーマリンク",
"Title": "タイトル",
"Date (Unix Timestamp)": "Date (Unix Timestamp)",
"Summary": "Summary",
"Content": "コンテンツ",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "メディア",
"RSS Title": "RSSタイトル",
"RSS Description": "RSSの説明",
"Author": "作成者",
"Genre": "ジャンル",
"Categories": "カテゴリ",
"Tags": "タグ",
"Labels": "ラベル",
"Draft": "下書き",
"Featured": "注目",
"Archived": "アーカイブ済み",
"Image": "画像",
"Alt Text": "代替テキスト",
"Thumbnail Quality": "サムネイルの品質",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "サムネイルの大きさの大きさ",
"Thumbnail Resize Method": "サムネイルのサイズ変更方法",
"Thumbnail Landscape Crop": "サムネイル風景クロップ",
"Pull Alt Text from Meta Data": "Meta データから代替テキストを取得する",
"Unix Timestamp": "Unix タイムスタンプ",
"File": "ファイル",
"File Extension": "ファイル拡張子",
"Extension": "エクステンション",
"Text Content": "テキストコンテンツ",
"Status": "ステータス",
"Video URL": "動画の URL",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"The type of data to return": "返すデータの種類",
"The CMS ID of the content to retrieve": "取得するコンテンツの CMS ID",
"The permalink of the post to retrieve": "取得するポストのパーマリンク",
"The CMS ID of the content to save": "保存するコンテンツのCMSID",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "ブログ投稿のパーマリンク。ユニークであるか、既存の投稿を上書きします。",
"The title of the blog post": "ブログ投稿のタイトル",
"The date in unix timestamp format": "Unix タイムスタンプ形式の日付",
"The summary of the blog post": "ブログ記事の概要",
"The content of the blog post": "ブログ投稿の内容",
"The extra content of the blog post": "ブログ記事の追加コンテンツ",
"The extra content 2 of the blog post": "ブログ記事の追加コンテンツ2",
"The media of the blog post": "ブログ投稿のメディア",
"The RSS title of the blog post": "ブログ記事の RSS タイトル",
"The RSS description of the blog post": "ブログ記事の RSS の説明",
"The author of the blog post": "ブログ投稿の著者",
"The genre of the blog post": "ブログ投稿のジャンル",
"A comma separated list of categories for the blog post": "ブログ投稿のカテゴリのカンマ区切りリスト",
"A comma separated list of tags for the blog post": "ブログ投稿のタグのカンマ区切りリスト",
"A comma separated list of labels for the blog post": "ブログ記事のラベルのカンマ区切りリスト",
"Set to true to save as a draft": "下書きとして保存するには true に設定してください",
"Set to true to save as a featured post": "注目記事として保存するには true に設定してください",
"Set to true to save as an archived post": "アーカイブされた投稿として保存するにはtrueに設定してください",
"The CMS ID of the blog to save": "保存するブログの CMS ID",
"The permalink of the blog post to save": "保存するブログ記事のパーマリンク",
"The image to save": "保存する画像",
"The alt text for the image": "画像の代替テキスト",
"The quality of the thumbnail": "サムネイルの品質",
"The scale of the thumbnail": "サムネイルの大きさ",
"The scale of the square thumbnail": "四角いサムネイルの大きさ",
"The method to use when resizing the thumbnail": "サムネイルのサイズ変更時に使用する方法",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "四角いサムネイルに横向きのサムネイルをトリミングするときに使用する方法",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "イメージのメタ データから代替テキストを取得します。設定する場合は、上記のformat@@0フィールドにプレースホルダテキストを配置します。",
"The unix timestamp to save": "保存する unix timestamp",
"The CMS ID of the depot to save": "保存するデポのCMSID",
"The file to save": "保存するファイル",
"The CMS ID of the file to save": "保存するファイルのCMSID",
"The file extension of the file": "ファイルの拡張子",
"The CMS ID of the gallery to save": "保存するギャラリーのCMSID",
"The extension of the image": "画像の拡張",
"The text content to save": "保存するテキストコンテンツ",
"The status of the toggle. \"true\" is on, \"false\" is off.": "トグルの状態。\"true\"がオン、\"false\"はオフです。",
"The URL of the video to save": "保存するビデオの URL",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"Blog": "ブログ",
"Datastore": "Datastore",
"Date": "日付",
"Depot": "Armazém",
"Feed": "フィード",
"Gallery": "ギャラリー",
"Ratings": "評価",
"Text": "テキスト",
"Toggle": "切り替え",
"Video": "ビデオ",
"Auto": "自動",
"Landscape": "ランドスケープ",
"Portrait": "縦向き",
"Left": "左",
"Center": "中央揃え",
"Right": "右",
"Top": "上",
"Middle": "中央",
"Bottom": "下揃え",
"jpg": "jpg",
"png": "png",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭",
"New Blog Post": "新しいブログ投稿",
"Triggers when a new blog post is published": "新しいブログ投稿が公開されたときにトリガーします"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Inhoudsbeheersysteem voor moderne websites",
"Total CMS Domain": "Totaal CMS domein",
"License Key": "Licentie sleutel",
"The domain of your Total CMS website": "Het domein van uw Totaal CMS website",
"The License key for your Total CMS domain": "De licentiesleutel voor uw Totaal CMS domein",
"Setup your Total CMS connection": "Stel uw totale CMS-verbinding in",
"Get Content": "Get Content",
"Get Blog Post": "Blogpost ophalen",
"Save Blog Post": "Blogbericht opslaan",
"Save Blog Post Gallery Image": "Blog Post Gallery Afbeelding opslaan",
"Save Blog Post Image": "Blog Post afbeelding opslaan",
"Save Date Content": "Datum-inhoud opslaan",
"Save Depot": "Depot opslaan",
"Save File": "Bestand opslaan",
"Save Gallery Image": "Bewaar galerij afbeelding",
"Save Image": "Afbeelding opslaan",
"Save Text Content": "Tekstinhoud opslaan",
"Save Toggle": "Sla schakelaar op",
"Save Video Content": "Video-inhoud opslaan",
"Custom API Call": "Custom API Call",
"Get content from your Total CMS website": "Download de inhoud van uw Total CMS website",
"Get a blog post from Total CMS": "Verkrijg een blogbericht van Totaal CMS",
"Save blog content to Total CMS": "Sla de bloginhoud op naar Totaal CMS",
"Save image to Total CMS blog post gallery": "Bewaar afbeelding in de totale CMS blog post galerij",
"Save image to Total CMS blog post": "Bewaar afbeelding in het totaal CMS blog bericht",
"Save date content to Total CMS": "Datuminhoud opslaan in Totaal CMS",
"Save file to Total CMS depot": "Bestand opslaan naar Totaal CMS depot",
"Save file to Total CMS": "Opslaan in Totaal CMS",
"Save image to Total CMS gallery": "Bewaar afbeelding in de totale CMS galerij",
"Save image to Total CMS": "Bewaar afbeelding in totaal CMS",
"Save text content to Total CMS": "Tekstinhoud opslaan naar Totaal CMS",
"Save toggle content to Total CMS": "Sla omschakelen naar Total CMS",
"Save video content to Total CMS": "Videocontent opslaan naar Totaal CMS",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"Data Type": "Data type",
"CMS ID": "CMS ID",
"Permalink": "Permalink",
"Title": "Aanspreektitel",
"Date (Unix Timestamp)": "Datum (Unix Tijdstempel)",
"Summary": "Summary",
"Content": "Inhoud",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Medium",
"RSS Title": "RSS titel",
"RSS Description": "RSS beschrijving",
"Author": "Auteur",
"Genre": "genre",
"Categories": "Categoriechar@@0n",
"Tags": "Labels",
"Labels": "Labels",
"Draft": "Concept",
"Featured": "Uitgelicht",
"Archived": "Gearchiveerd",
"Image": "Afbeelding",
"Alt Text": "Alternatieve tekst",
"Thumbnail Quality": "Miniatuurkwaliteit",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Thumbnail vierkante schaal",
"Thumbnail Resize Method": "Thumbnail formaat methode",
"Thumbnail Landscape Crop": "Thumbnail Landschap Bijsnijden",
"Pull Alt Text from Meta Data": "Trek Alt-tekst uit Meta-gegevens",
"Unix Timestamp": "Unix Tijdsstempel",
"File": "Bestand",
"File Extension": "Bestands extensie",
"Extension": "Uitbreiding",
"Text Content": "Tekst inhoud",
"Status": "status",
"Video URL": "Video URL",
"Method": "Methode",
"Headers": "Kopteksten",
"Query Parameters": "Query parameters",
"Body": "Lichaam",
"Response is Binary ?": "Antwoord is binair?",
"No Error on Failure": "Geen fout bij fout",
"Timeout (in seconds)": "Time-out (in seconden)",
"The type of data to return": "Het type gegevens om terug te keren",
"The CMS ID of the content to retrieve": "De CMS ID van de op te halen inhoud",
"The permalink of the post to retrieve": "De permalink van het op te halen bericht",
"The CMS ID of the content to save": "De CMS ID van de content om op te slaan",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "De permalink van de blogpost. Zorg ervoor dat dit uniek is of het zal het bestaande bericht overschrijven.",
"The title of the blog post": "De titel van het blogbericht",
"The date in unix timestamp format": "De datum in het formaat van de unix tijdstempel",
"The summary of the blog post": "De samenvatting van het blogbericht",
"The content of the blog post": "De inhoud van het blogbericht",
"The extra content of the blog post": "De extra inhoud van het blogbericht",
"The extra content 2 of the blog post": "De extra inhoud 2 van de blogpost",
"The media of the blog post": "De media van het blogbericht",
"The RSS title of the blog post": "De RSS titel van het blogbericht",
"The RSS description of the blog post": "De RSS beschrijving van de blogpost",
"The author of the blog post": "De auteur van het blogbericht",
"The genre of the blog post": "Het genre van de blogpost",
"A comma separated list of categories for the blog post": "Een door komma's gescheiden lijst van categorieën voor de blogpost",
"A comma separated list of tags for the blog post": "Een door komma's gescheiden lijst van tags voor de blog post",
"A comma separated list of labels for the blog post": "Een door komma's gescheiden lijst van labels voor de blog post",
"Set to true to save as a draft": "Instellen als 'waar' om op te slaan als concept",
"Set to true to save as a featured post": "Instellen als 'waar' om een aanbevolen bericht op te slaan",
"Set to true to save as an archived post": "Instellen als 'waar' om een gearchiveerd bericht op te slaan",
"The CMS ID of the blog to save": "De CMS ID van de blog om op te slaan",
"The permalink of the blog post to save": "De permalink van het blogbericht om op te slaan",
"The image to save": "De afbeelding om op te slaan",
"The alt text for the image": "De alt-tekst voor de afbeelding",
"The quality of the thumbnail": "De kwaliteit van de miniatuur",
"The scale of the thumbnail": "De schaal van de miniatuur",
"The scale of the square thumbnail": "De schaal van de vierkante miniatuur",
"The method to use when resizing the thumbnail": "De te gebruiken methode bij het aanpassen van de thumbnail",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "De methode om te gebruiken bij het bijsnijden van de landschap miniatuur voor de vierkante thumbnail",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Trek de Alt-tekst uit de meta-data van de afbeelding. Als dit is ingesteld, plaats dan de plaatsvervangende tekst in het Alt-tekstveld hierboven.",
"The unix timestamp to save": "De unix tijdstempel om op te slaan",
"The CMS ID of the depot to save": "Het CMS ID van het depot om op te slaan",
"The file to save": "Het bestand om op te slaan",
"The CMS ID of the file to save": "De CMS ID van het op te slaan bestand",
"The file extension of the file": "De bestandsextensie van het bestand",
"The CMS ID of the gallery to save": "De CMS ID van de galerij om op te slaan",
"The extension of the image": "De extensie van de afbeelding",
"The text content to save": "De tekst inhoud om op te slaan",
"The status of the toggle. \"true\" is on, \"false\" is off.": "De status van de schakelaar. \"true\" is ingeschakeld, \"false\" is uit.",
"The URL of the video to save": "De URL van de video om op te slaan",
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Datum:",
"Depot": "Depot",
"Feed": "Feed",
"Gallery": "Galerij",
"Ratings": "Beoordelingen",
"Text": "Tekstveld",
"Toggle": "Omschakelen",
"Video": "Video",
"Auto": "Automatisch",
"Landscape": "Liggend",
"Portrait": "Staand",
"Left": "Linkerkant",
"Center": "Gecentreerd",
"Right": "Rechterkant",
"Top": "Bovenkant",
"Middle": "Midden",
"Bottom": "Onderaan",
"jpg": "jpg",
"png": "png",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD",
"New Blog Post": "Nieuwe blogpost",
"Triggers when a new blog post is published": "Triggert wanneer een nieuwe blogpost wordt gepubliceerd"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Sistema de gerenciamento de conteúdo para sites modernos",
"Total CMS Domain": "Total de domínio CMS",
"License Key": "Chave de Licença",
"The domain of your Total CMS website": "O domínio do seu total de CMS site",
"The License key for your Total CMS domain": "A chave da licença para seu domínio Total CMS",
"Setup your Total CMS connection": "Configuração da sua conexão total CMS",
"Get Content": "Get Content",
"Get Blog Post": "Obter o Post do Blog",
"Save Blog Post": "Salvar publicação no blog",
"Save Blog Post Gallery Image": "Salvar imagem da Galeria de Postagens",
"Save Blog Post Image": "Salvar Imagem do Blog Post",
"Save Date Content": "Salvar Conteúdo da Data",
"Save Depot": "Salvar Armazém",
"Save File": "Salvar Arquivo",
"Save Gallery Image": "Salvar imagem da Galeria",
"Save Image": "Salvar imagem",
"Save Text Content": "Salvar Conteúdo de Texto",
"Save Toggle": "Salvar alternância",
"Save Video Content": "Salvar conteúdo de vídeo",
"Custom API Call": "Chamada de API personalizada",
"Get content from your Total CMS website": "Obtenha o conteúdo do seu total de CMS site",
"Get a blog post from Total CMS": "Obter um post de um blog no total de CMS",
"Save blog content to Total CMS": "Salvar o conteúdo do blog no CMS total",
"Save image to Total CMS blog post gallery": "Salvar imagem no total de blog na galeria de posts CMS",
"Save image to Total CMS blog post": "Salvar imagem no post total de CMS",
"Save date content to Total CMS": "Salvar o conteúdo da data no CMS total",
"Save file to Total CMS depot": "Salvar arquivo no depósito total do CMS",
"Save file to Total CMS": "Salvar arquivo no total de CMS",
"Save image to Total CMS gallery": "Salvar imagem na Galeria CMS",
"Save image to Total CMS": "Salvar imagem no total de CMS",
"Save text content to Total CMS": "Salvar o conteúdo do texto no CMS total",
"Save toggle content to Total CMS": "Salvar o conteúdo alternado no CMS total",
"Save video content to Total CMS": "Salvar conteúdo de vídeo no CMS total",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"Data Type": "Tipo de dados",
"CMS ID": "ID CMS",
"Permalink": "permalink",
"Title": "Título",
"Date (Unix Timestamp)": "Data (horário Unix)",
"Summary": "Summary",
"Content": "Conteúdo",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Multimídia",
"RSS Title": "Título do RSS",
"RSS Description": "Descrição do RSS",
"Author": "Autor",
"Genre": "gênero",
"Categories": "categorias",
"Tags": "Etiquetas",
"Labels": "Marcadores",
"Draft": "Rascunho",
"Featured": "Destaques",
"Archived": "Arquivado",
"Image": "Imagem:",
"Alt Text": "Texto Alternativo",
"Thumbnail Quality": "Qualidade da miniatura",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Escala de Miniatura Quadrada",
"Thumbnail Resize Method": "Método de redimensionamento em miniatura",
"Thumbnail Landscape Crop": "Corte de miniatura em paisagem",
"Pull Alt Text from Meta Data": "Puxar texto alternativo dos dados meta",
"Unix Timestamp": "Timestamp Unix",
"File": "Arquivo",
"File Extension": "Extensão do Arquivo",
"Extension": "Extensão",
"Text Content": "Conteúdo do Texto",
"Status": "Estado",
"Video URL": "URL do vídeo",
"Method": "Método",
"Headers": "Cabeçalhos",
"Query Parameters": "Parâmetros da consulta",
"Body": "Conteúdo",
"Response is Binary ?": "A resposta é binária ?",
"No Error on Failure": "Nenhum erro no Failure",
"Timeout (in seconds)": "Tempo limite (em segundos)",
"The type of data to return": "O tipo de dados a retornar",
"The CMS ID of the content to retrieve": "O CMS ID do conteúdo a ser recuperado",
"The permalink of the post to retrieve": "O permalink do post a ser recuperado",
"The CMS ID of the content to save": "O CMS ID do conteúdo a salvar",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "O link permanente do post. Assegure-se de que este é único ou ele substituirá o post existente.",
"The title of the blog post": "O título do post no blog",
"The date in unix timestamp format": "A data no formato unix timestamp",
"The summary of the blog post": "O resumo do post do blog",
"The content of the blog post": "O conteúdo do post do blog",
"The extra content of the blog post": "O conteúdo extra do post no blog",
"The extra content 2 of the blog post": "O conteúdo extra 2 do post no blog",
"The media of the blog post": "A mídia do post do blog",
"The RSS title of the blog post": "O título do RSS da postagem no blog",
"The RSS description of the blog post": "A descrição RSS do post do blog",
"The author of the blog post": "O autor do post do blog",
"The genre of the blog post": "O gênero do post",
"A comma separated list of categories for the blog post": "Uma lista separada por vírgulas de categorias para o post no blog",
"A comma separated list of tags for the blog post": "Uma lista separada por vírgulas de tags para o post do blog",
"A comma separated list of labels for the blog post": "Uma lista separada por vírgulas de rótulos para o post do blog",
"Set to true to save as a draft": "Definir como verdadeiro para salvar como rascunho",
"Set to true to save as a featured post": "Definir como verdadeiro para salvar como um post em destaque",
"Set to true to save as an archived post": "Definir como verdadeiro para salvar como uma publicação arquivada",
"The CMS ID of the blog to save": "O ID CMS do blog para salvar",
"The permalink of the blog post to save": "O permalink do post para salvar",
"The image to save": "A imagem a salvar",
"The alt text for the image": "O texto alternativo para a imagem",
"The quality of the thumbnail": "A qualidade da miniatura",
"The scale of the thumbnail": "A escala da miniatura",
"The scale of the square thumbnail": "A escala da miniatura quadrada",
"The method to use when resizing the thumbnail": "O método a ser usado ao redimensionar a miniatura",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "O método a ser usado ao cortar a miniatura em modo paisagem para a miniatura quadrada",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Puxe o texto alt dos metadados da imagem. Se definido, coloque o texto \"placeholder\" no campo de texto alternativo acima.",
"The unix timestamp to save": "O timestamp unix para salvar",
"The CMS ID of the depot to save": "A ID CMS do depósito a salvar",
"The file to save": "O arquivo para salvar",
"The CMS ID of the file to save": "A ID CMS do arquivo a salvar",
"The file extension of the file": "A extensão do arquivo",
"The CMS ID of the gallery to save": "A ID CMS da galeria para salvar",
"The extension of the image": "A extensão da imagem",
"The text content to save": "O conteúdo do texto a salvar",
"The status of the toggle. \"true\" is on, \"false\" is off.": "O status do alternador. \"verdadeiro\" está ligado, \"falso\" está desativado.",
"The URL of the video to save": "A URL do vídeo para salvar",
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
"Blog": "Blogue",
"Datastore": "Datastore",
"Date": "Encontro",
"Depot": "Armazém",
"Feed": "Alimentar",
"Gallery": "Galeria",
"Ratings": "Avaliações",
"Text": "texto",
"Toggle": "Alternador",
"Video": "Vídeo",
"Auto": "Automático",
"Landscape": "Paisagem",
"Portrait": "Retrato",
"Left": "Esquerda",
"Center": "Centralizar",
"Right": "Direita",
"Top": "Superior",
"Middle": "Meio",
"Bottom": "Inferior",
"jpg": "jpg",
"png": "png",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA",
"New Blog Post": "Nova publicação no blog",
"Triggers when a new blog post is published": "Dispara quando um novo post é publicado"
}

View File

@@ -0,0 +1,150 @@
{
"Total CMS": "Всего CMS",
"Content management system for modern websites": "Система управления контентом для современных веб-сайтов",
"Total CMS Domain": "Общий домен CMS",
"License Key": "Лицензионный ключ",
"The domain of your Total CMS website": "Домен вашего общего сайта CMS",
"The License key for your Total CMS domain": "Лицензионный ключ для вашего общего домена CMS",
"Setup your Total CMS connection": "Настройте ваше Total CMS соединение",
"Get Content": "Get Content",
"Get Blog Post": "Получить запись в блоге",
"Save Blog Post": "Сохранить запись блога",
"Save Blog Post Gallery Image": "Сохранить изображение галереи записи блога",
"Save Blog Post Image": "Сохранить изображение записи блога",
"Save Date Content": "Сохранить дату",
"Save Depot": "Сохранить склад",
"Save File": "Сохранить файл",
"Save Gallery Image": "Сохранить изображение галереи",
"Save Image": "Сохранить изображение",
"Save Text Content": "Сохранить текст",
"Save Toggle": "Сохранить переключатель",
"Save Video Content": "Сохранить видеоконтент",
"Custom API Call": "Пользовательский вызов API",
"Get content from your Total CMS website": "Получите контент с вашего общего сайта CMS",
"Get a blog post from Total CMS": "Получить сообщение от Total CMS",
"Save blog content to Total CMS": "Сохранить содержимое блога в Total CMS",
"Save image to Total CMS blog post gallery": "Сохранить изображение в Total CMS галерею записей блога",
"Save image to Total CMS blog post": "Сохранить изображение в Total CMS пост",
"Save date content to Total CMS": "Сохранить дату в Total CMS",
"Save file to Total CMS depot": "Сохранить файл в Total CMS",
"Save file to Total CMS": "Сохранить файл в Total CMS",
"Save image to Total CMS gallery": "Сохранить изображение в галерею Total CMS",
"Save image to Total CMS": "Сохранить изображение в Total CMS",
"Save text content to Total CMS": "Сохранить текст в Total CMS",
"Save toggle content to Total CMS": "Сохранить переключатель контента в Total CMS",
"Save video content to Total CMS": "Сохранить видеоконтент в Total CMS",
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
"Data Type": "Тип данных",
"CMS ID": "ID CMS",
"Permalink": "Постоянная ссылка",
"Title": "Заголовок",
"Date (Unix Timestamp)": "Дата (Unix Timestamp)",
"Summary": "Summary",
"Content": "Содержание",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Медиа",
"RSS Title": "Заголовок RSS",
"RSS Description": "Описание RSS",
"Author": "Автор",
"Genre": "Жанр",
"Categories": "Категории",
"Tags": "Теги",
"Labels": "Метки",
"Draft": "Черновик",
"Featured": "Избранные",
"Archived": "Архивировано",
"Image": "Изображение",
"Alt Text": "Alt текст",
"Thumbnail Quality": "Качество эскизов",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Квадратный масштаб эскиза",
"Thumbnail Resize Method": "Метод изменения размера эскизов",
"Thumbnail Landscape Crop": "Эскиз ландшафтной обрезки",
"Pull Alt Text from Meta Data": "Потяните Alt текст из метаданных",
"Unix Timestamp": "Unix Timmamp",
"File": "Файл",
"File Extension": "Расширение файла",
"Extension": "Расширение",
"Text Content": "Текстовое содержимое",
"Status": "Статус",
"Video URL": "URL видео",
"Method": "Метод",
"Headers": "Заголовки",
"Query Parameters": "Параметры запроса",
"Body": "Тело",
"No Error on Failure": "Нет ошибок при ошибке",
"Timeout (in seconds)": "Таймаут (в секундах)",
"The type of data to return": "Тип возвращаемых данных",
"The CMS ID of the content to retrieve": "Идентификатор CMS контента для получения",
"The permalink of the post to retrieve": "Постоянная ссылка на сообщение для получения",
"The CMS ID of the content to save": "CMS ID контента для сохранения",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "Постоянная ссылка на запись блога. Убедитесь, что она уникальна, или она перезапишет существующую запись.",
"The title of the blog post": "Название записи в блоге",
"The date in unix timestamp format": "Дата в формате unix",
"The summary of the blog post": "Резюме записи в блоге",
"The content of the blog post": "Содержание записи в блоге",
"The extra content of the blog post": "Дополнительное содержание записи в блоге",
"The extra content 2 of the blog post": "Дополнительное содержание 2 записи в блоге",
"The media of the blog post": "Средства массовой информации записи в блоге",
"The RSS title of the blog post": "Заголовок RSS записи",
"The RSS description of the blog post": "Описание RSS",
"The author of the blog post": "Автор записи блога",
"The genre of the blog post": "жанр записи в блоге",
"A comma separated list of categories for the blog post": "Разделенный запятыми список категорий для записи в блоге",
"A comma separated list of tags for the blog post": "Список тегов, разделенных запятыми для записи в блоге",
"A comma separated list of labels for the blog post": "Разделенный запятыми список меток для записи в блоге",
"Set to true to save as a draft": "Установить значение true, чтобы сохранить как черновик",
"Set to true to save as a featured post": "Установить значение по умолчанию для сохранения как избранного",
"Set to true to save as an archived post": "Установить значение по умолчанию для сохранения в архиве",
"The CMS ID of the blog to save": "CMS ID блога для сохранения",
"The permalink of the blog post to save": "Постоянная ссылка на запись в блоге для сохранения",
"The image to save": "Изображение для сохранения",
"The alt text for the image": "Альтернативный текст для изображения",
"The quality of the thumbnail": "Качество эскиза",
"The scale of the thumbnail": "Масштаб эскиза",
"The scale of the square thumbnail": "Масштаб миниатюры квадрата",
"The method to use when resizing the thumbnail": "Метод использования при изменении размера эскиза",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "Метод использования при обрезке миниатюры ландшафтного изображения для квадратного эскиза",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Потяните alt текст из метаданных изображения. Если установлено, поместите метку-текст в текстовое поле alt выше.",
"The unix timestamp to save": "unix времени для сохранения",
"The CMS ID of the depot to save": "CMS ID депо для сохранения",
"The file to save": "Файл для сохранения",
"The CMS ID of the file to save": "CMS ID файла для сохранения",
"The file extension of the file": "Расширение файла",
"The CMS ID of the gallery to save": "CMS ID галереи для сохранения",
"The extension of the image": "Расширение изображения",
"The text content to save": "Содержимое текста для сохранения",
"The status of the toggle. \"true\" is on, \"false\" is off.": "Статус переключателя. \"true\" включен, \"false\" выключен.",
"The URL of the video to save": "URL видео для сохранения",
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
"Blog": "Блог",
"Datastore": "Datastore",
"Date": "Дата",
"Depot": "Склад",
"Feed": "Лента",
"Gallery": "Галерея",
"Ratings": "Оценки",
"Text": "Текст",
"Toggle": "Переключить",
"Video": "Видео",
"Auto": "Авто",
"Landscape": "Горизонтальный",
"Portrait": "Портрет",
"Left": "Слева",
"Center": "По центру",
"Right": "Справа",
"Top": "Сверху",
"Middle": "Средний",
"Bottom": "Внизу",
"jpg": "jpg",
"png": "png",
"GET": "ПОЛУЧИТЬ",
"POST": "ПОСТ",
"PATCH": "ПАТЧ",
"PUT": "ПОКУПИТЬ",
"DELETE": "УДАЛИТЬ",
"HEAD": "HEAD",
"New Blog Post": "Новая запись в блоге",
"Triggers when a new blog post is published": "Триггеры при публикации нового сообщения в блоге"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Content management system for modern websites",
"Total CMS Domain": "Total CMS Domain",
"License Key": "License Key",
"The domain of your Total CMS website": "The domain of your Total CMS website",
"The License key for your Total CMS domain": "The License key for your Total CMS domain",
"Setup your Total CMS connection": "Setup your Total CMS connection",
"Get Content": "Get Content",
"Get Blog Post": "Get Blog Post",
"Save Blog Post": "Save Blog Post",
"Save Blog Post Gallery Image": "Save Blog Post Gallery Image",
"Save Blog Post Image": "Save Blog Post Image",
"Save Date Content": "Save Date Content",
"Save Depot": "Save Depot",
"Save File": "Save File",
"Save Gallery Image": "Save Gallery Image",
"Save Image": "Save Image",
"Save Text Content": "Save Text Content",
"Save Toggle": "Save Toggle",
"Save Video Content": "Save Video Content",
"Custom API Call": "Custom API Call",
"Get content from your Total CMS website": "Get content from your Total CMS website",
"Get a blog post from Total CMS": "Get a blog post from Total CMS",
"Save blog content to Total CMS": "Save blog content to Total CMS",
"Save image to Total CMS blog post gallery": "Save image to Total CMS blog post gallery",
"Save image to Total CMS blog post": "Save image to Total CMS blog post",
"Save date content to Total CMS": "Save date content to Total CMS",
"Save file to Total CMS depot": "Save file to Total CMS depot",
"Save file to Total CMS": "Save file to Total CMS",
"Save image to Total CMS gallery": "Save image to Total CMS gallery",
"Save image to Total CMS": "Save image to Total CMS",
"Save text content to Total CMS": "Save text content to Total CMS",
"Save toggle content to Total CMS": "Save toggle content to Total CMS",
"Save video content to Total CMS": "Save video content to Total CMS",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Data Type": "Data Type",
"CMS ID": "CMS ID",
"Permalink": "Permalink",
"Title": "Title",
"Date (Unix Timestamp)": "Date (Unix Timestamp)",
"Summary": "Summary",
"Content": "Content",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Media",
"RSS Title": "RSS Title",
"RSS Description": "RSS Description",
"Author": "Author",
"Genre": "Genre",
"Categories": "Categories",
"Tags": "Tags",
"Labels": "Labels",
"Draft": "Draft",
"Featured": "Featured",
"Archived": "Archived",
"Image": "Image",
"Alt Text": "Alt Text",
"Thumbnail Quality": "Thumbnail Quality",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Thumbnail Square Scale",
"Thumbnail Resize Method": "Thumbnail Resize Method",
"Thumbnail Landscape Crop": "Thumbnail Landscape Crop",
"Pull Alt Text from Meta Data": "Pull Alt Text from Meta Data",
"Unix Timestamp": "Unix Timestamp",
"File": "File",
"File Extension": "File Extension",
"Extension": "Extension",
"Text Content": "Text Content",
"Status": "Status",
"Video URL": "Video URL",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The type of data to return": "The type of data to return",
"The CMS ID of the content to retrieve": "The CMS ID of the content to retrieve",
"The permalink of the post to retrieve": "The permalink of the post to retrieve",
"The CMS ID of the content to save": "The CMS ID of the content to save",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.",
"The title of the blog post": "The title of the blog post",
"The date in unix timestamp format": "The date in unix timestamp format",
"The summary of the blog post": "The summary of the blog post",
"The content of the blog post": "The content of the blog post",
"The extra content of the blog post": "The extra content of the blog post",
"The extra content 2 of the blog post": "The extra content 2 of the blog post",
"The media of the blog post": "The media of the blog post",
"The RSS title of the blog post": "The RSS title of the blog post",
"The RSS description of the blog post": "The RSS description of the blog post",
"The author of the blog post": "The author of the blog post",
"The genre of the blog post": "The genre of the blog post",
"A comma separated list of categories for the blog post": "A comma separated list of categories for the blog post",
"A comma separated list of tags for the blog post": "A comma separated list of tags for the blog post",
"A comma separated list of labels for the blog post": "A comma separated list of labels for the blog post",
"Set to true to save as a draft": "Set to true to save as a draft",
"Set to true to save as a featured post": "Set to true to save as a featured post",
"Set to true to save as an archived post": "Set to true to save as an archived post",
"The CMS ID of the blog to save": "The CMS ID of the blog to save",
"The permalink of the blog post to save": "The permalink of the blog post to save",
"The image to save": "The image to save",
"The alt text for the image": "The alt text for the image",
"The quality of the thumbnail": "The quality of the thumbnail",
"The scale of the thumbnail": "The scale of the thumbnail",
"The scale of the square thumbnail": "The scale of the square thumbnail",
"The method to use when resizing the thumbnail": "The method to use when resizing the thumbnail",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "The method to use when cropping the landscape thumbnail for the square thumbnail",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.",
"The unix timestamp to save": "The unix timestamp to save",
"The CMS ID of the depot to save": "The CMS ID of the depot to save",
"The file to save": "The file to save",
"The CMS ID of the file to save": "The CMS ID of the file to save",
"The file extension of the file": "The file extension of the file",
"The CMS ID of the gallery to save": "The CMS ID of the gallery to save",
"The extension of the image": "The extension of the image",
"The text content to save": "The text content to save",
"The status of the toggle. \"true\" is on, \"false\" is off.": "The status of the toggle. \"true\" is on, \"false\" is off.",
"The URL of the video to save": "The URL of the video to save",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Date",
"Depot": "Depot",
"Feed": "Feed",
"Gallery": "Gallery",
"Ratings": "Ratings",
"Text": "Text",
"Toggle": "Toggle",
"Video": "Video",
"Auto": "Auto",
"Landscape": "Landscape",
"Portrait": "Portrait",
"Left": "Left",
"Center": "Center",
"Right": "Right",
"Top": "Top",
"Middle": "Middle",
"Bottom": "Bottom",
"jpg": "jpg",
"png": "png",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Blog Post": "New Blog Post",
"Triggers when a new blog post is published": "Triggers when a new blog post is published"
}

View File

@@ -0,0 +1,150 @@
{
"Total CMS": "Total CMS",
"Content management system for modern websites": "Content management system for modern websites",
"Total CMS Domain": "Total CMS Domain",
"License Key": "License Key",
"The domain of your Total CMS website": "The domain of your Total CMS website",
"The License key for your Total CMS domain": "The License key for your Total CMS domain",
"Setup your Total CMS connection": "Setup your Total CMS connection",
"Get Content": "Get Content",
"Get Blog Post": "Get Blog Post",
"Save Blog Post": "Save Blog Post",
"Save Blog Post Gallery Image": "Save Blog Post Gallery Image",
"Save Blog Post Image": "Save Blog Post Image",
"Save Date Content": "Save Date Content",
"Save Depot": "Save Depot",
"Save File": "Save File",
"Save Gallery Image": "Save Gallery Image",
"Save Image": "Save Image",
"Save Text Content": "Save Text Content",
"Save Toggle": "Save Toggle",
"Save Video Content": "Save Video Content",
"Custom API Call": "Custom API Call",
"Get content from your Total CMS website": "Get content from your Total CMS website",
"Get a blog post from Total CMS": "Get a blog post from Total CMS",
"Save blog content to Total CMS": "Save blog content to Total CMS",
"Save image to Total CMS blog post gallery": "Save image to Total CMS blog post gallery",
"Save image to Total CMS blog post": "Save image to Total CMS blog post",
"Save date content to Total CMS": "Save date content to Total CMS",
"Save file to Total CMS depot": "Save file to Total CMS depot",
"Save file to Total CMS": "Save file to Total CMS",
"Save image to Total CMS gallery": "Save image to Total CMS gallery",
"Save image to Total CMS": "Save image to Total CMS",
"Save text content to Total CMS": "Save text content to Total CMS",
"Save toggle content to Total CMS": "Save toggle content to Total CMS",
"Save video content to Total CMS": "Save video content to Total CMS",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Data Type": "Data Type",
"CMS ID": "CMS ID",
"Permalink": "Permalink",
"Title": "Title",
"Date (Unix Timestamp)": "Date (Unix Timestamp)",
"Summary": "Summary",
"Content": "Content",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Media",
"RSS Title": "RSS Title",
"RSS Description": "RSS Description",
"Author": "Author",
"Genre": "Genre",
"Categories": "Categories",
"Tags": "Tags",
"Labels": "Labels",
"Draft": "Bản nháp",
"Featured": "Nổi bật",
"Archived": "Archived",
"Image": "Image",
"Alt Text": "Alt Text",
"Thumbnail Quality": "Thumbnail Quality",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Thumbnail Square Scale",
"Thumbnail Resize Method": "Thumbnail Resize Method",
"Thumbnail Landscape Crop": "Thumbnail Landscape Crop",
"Pull Alt Text from Meta Data": "Pull Alt Text from Meta Data",
"Unix Timestamp": "Unix Timestamp",
"File": "File",
"File Extension": "File Extension",
"Extension": "Extension",
"Text Content": "Text Content",
"Status": "Status",
"Video URL": "Video URL",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"The type of data to return": "The type of data to return",
"The CMS ID of the content to retrieve": "The CMS ID of the content to retrieve",
"The permalink of the post to retrieve": "The permalink of the post to retrieve",
"The CMS ID of the content to save": "The CMS ID of the content to save",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.",
"The title of the blog post": "The title of the blog post",
"The date in unix timestamp format": "The date in unix timestamp format",
"The summary of the blog post": "The summary of the blog post",
"The content of the blog post": "The content of the blog post",
"The extra content of the blog post": "The extra content of the blog post",
"The extra content 2 of the blog post": "The extra content 2 of the blog post",
"The media of the blog post": "The media of the blog post",
"The RSS title of the blog post": "The RSS title of the blog post",
"The RSS description of the blog post": "The RSS description of the blog post",
"The author of the blog post": "The author of the blog post",
"The genre of the blog post": "The genre of the blog post",
"A comma separated list of categories for the blog post": "A comma separated list of categories for the blog post",
"A comma separated list of tags for the blog post": "A comma separated list of tags for the blog post",
"A comma separated list of labels for the blog post": "A comma separated list of labels for the blog post",
"Set to true to save as a draft": "Set to true to save as a draft",
"Set to true to save as a featured post": "Set to true to save as a featured post",
"Set to true to save as an archived post": "Set to true to save as an archived post",
"The CMS ID of the blog to save": "The CMS ID of the blog to save",
"The permalink of the blog post to save": "The permalink of the blog post to save",
"The image to save": "The image to save",
"The alt text for the image": "The alt text for the image",
"The quality of the thumbnail": "The quality of the thumbnail",
"The scale of the thumbnail": "The scale of the thumbnail",
"The scale of the square thumbnail": "The scale of the square thumbnail",
"The method to use when resizing the thumbnail": "The method to use when resizing the thumbnail",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "The method to use when cropping the landscape thumbnail for the square thumbnail",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.",
"The unix timestamp to save": "The unix timestamp to save",
"The CMS ID of the depot to save": "The CMS ID of the depot to save",
"The file to save": "The file to save",
"The CMS ID of the file to save": "The CMS ID of the file to save",
"The file extension of the file": "The file extension of the file",
"The CMS ID of the gallery to save": "The CMS ID of the gallery to save",
"The extension of the image": "The extension of the image",
"The text content to save": "The text content to save",
"The status of the toggle. \"true\" is on, \"false\" is off.": "The status of the toggle. \"true\" is on, \"false\" is off.",
"The URL of the video to save": "The URL of the video to save",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Date",
"Depot": "Depot",
"Feed": "Feed",
"Gallery": "Gallery",
"Ratings": "Ratings",
"Text": "Text",
"Toggle": "Toggle",
"Video": "Video",
"Auto": "Auto",
"Landscape": "Landscape",
"Portrait": "Portrait",
"Left": "Left",
"Center": "Center",
"Right": "Right",
"Top": "Top",
"Middle": "Middle",
"Bottom": "Bottom",
"jpg": "jpg",
"png": "png",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Blog Post": "New Blog Post",
"Triggers when a new blog post is published": "Triggers when a new blog post is published"
}

View File

@@ -0,0 +1,151 @@
{
"Content management system for modern websites": "Content management system for modern websites",
"Total CMS Domain": "Total CMS Domain",
"License Key": "许可证密钥",
"The domain of your Total CMS website": "The domain of your Total CMS website",
"The License key for your Total CMS domain": "The License key for your Total CMS domain",
"Setup your Total CMS connection": "Setup your Total CMS connection",
"Get Content": "Get Content",
"Get Blog Post": "Get Blog Post",
"Save Blog Post": "Save Blog Post",
"Save Blog Post Gallery Image": "Save Blog Post Gallery Image",
"Save Blog Post Image": "Save Blog Post Image",
"Save Date Content": "Save Date Content",
"Save Depot": "Save Depot",
"Save File": "Save File",
"Save Gallery Image": "Save Gallery Image",
"Save Image": "Save Image",
"Save Text Content": "Save Text Content",
"Save Toggle": "Save Toggle",
"Save Video Content": "Save Video Content",
"Custom API Call": "自定义 API 呼叫",
"Get content from your Total CMS website": "Get content from your Total CMS website",
"Get a blog post from Total CMS": "Get a blog post from Total CMS",
"Save blog content to Total CMS": "Save blog content to Total CMS",
"Save image to Total CMS blog post gallery": "Save image to Total CMS blog post gallery",
"Save image to Total CMS blog post": "Save image to Total CMS blog post",
"Save date content to Total CMS": "Save date content to Total CMS",
"Save file to Total CMS depot": "Save file to Total CMS depot",
"Save file to Total CMS": "Save file to Total CMS",
"Save image to Total CMS gallery": "Save image to Total CMS gallery",
"Save image to Total CMS": "Save image to Total CMS",
"Save text content to Total CMS": "Save text content to Total CMS",
"Save toggle content to Total CMS": "Save toggle content to Total CMS",
"Save video content to Total CMS": "Save video content to Total CMS",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"Data Type": "Data Type",
"CMS ID": "CMS ID",
"Permalink": "Permalink",
"Title": "标题",
"Date (Unix Timestamp)": "Date (Unix Timestamp)",
"Summary": "Summary",
"Content": "Content",
"Extra Content": "Extra Content",
"Extra Content 2": "Extra Content 2",
"Media": "Media",
"RSS Title": "RSS Title",
"RSS Description": "RSS Description",
"Author": "Author",
"Genre": "Genre",
"Categories": "Categories",
"Tags": "标签",
"Labels": "Labels",
"Draft": "草稿",
"Featured": "Featured",
"Archived": "Archived",
"Image": "Image",
"Alt Text": "Alt Text",
"Thumbnail Quality": "Thumbnail Quality",
"Thumbnail Scale": "Thumbnail Scale",
"Thumbnail Square Scale": "Thumbnail Square Scale",
"Thumbnail Resize Method": "Thumbnail Resize Method",
"Thumbnail Landscape Crop": "Thumbnail Landscape Crop",
"Pull Alt Text from Meta Data": "Pull Alt Text from Meta Data",
"Unix Timestamp": "Unix Timestamp",
"File": "文件",
"File Extension": "File Extension",
"Extension": "Extension",
"Text Content": "Text Content",
"Status": "状态",
"Video URL": "Video URL",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"The type of data to return": "The type of data to return",
"The CMS ID of the content to retrieve": "The CMS ID of the content to retrieve",
"The permalink of the post to retrieve": "The permalink of the post to retrieve",
"The CMS ID of the content to save": "The CMS ID of the content to save",
"The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.": "The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.",
"The title of the blog post": "The title of the blog post",
"The date in unix timestamp format": "The date in unix timestamp format",
"The summary of the blog post": "The summary of the blog post",
"The content of the blog post": "The content of the blog post",
"The extra content of the blog post": "The extra content of the blog post",
"The extra content 2 of the blog post": "The extra content 2 of the blog post",
"The media of the blog post": "The media of the blog post",
"The RSS title of the blog post": "The RSS title of the blog post",
"The RSS description of the blog post": "The RSS description of the blog post",
"The author of the blog post": "The author of the blog post",
"The genre of the blog post": "The genre of the blog post",
"A comma separated list of categories for the blog post": "A comma separated list of categories for the blog post",
"A comma separated list of tags for the blog post": "A comma separated list of tags for the blog post",
"A comma separated list of labels for the blog post": "A comma separated list of labels for the blog post",
"Set to true to save as a draft": "Set to true to save as a draft",
"Set to true to save as a featured post": "Set to true to save as a featured post",
"Set to true to save as an archived post": "Set to true to save as an archived post",
"The CMS ID of the blog to save": "The CMS ID of the blog to save",
"The permalink of the blog post to save": "The permalink of the blog post to save",
"The image to save": "The image to save",
"The alt text for the image": "The alt text for the image",
"The quality of the thumbnail": "The quality of the thumbnail",
"The scale of the thumbnail": "The scale of the thumbnail",
"The scale of the square thumbnail": "The scale of the square thumbnail",
"The method to use when resizing the thumbnail": "The method to use when resizing the thumbnail",
"The method to use when cropping the landscape thumbnail for the square thumbnail": "The method to use when cropping the landscape thumbnail for the square thumbnail",
"Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.": "Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.",
"The unix timestamp to save": "The unix timestamp to save",
"The CMS ID of the depot to save": "The CMS ID of the depot to save",
"The file to save": "The file to save",
"The CMS ID of the file to save": "The CMS ID of the file to save",
"The file extension of the file": "The file extension of the file",
"The CMS ID of the gallery to save": "The CMS ID of the gallery to save",
"The extension of the image": "The extension of the image",
"The text content to save": "The text content to save",
"The status of the toggle. \"true\" is on, \"false\" is off.": "The status of the toggle. \"true\" is on, \"false\" is off.",
"The URL of the video to save": "The URL of the video to save",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"Blog": "Blog",
"Datastore": "Datastore",
"Date": "Date",
"Depot": "Depot",
"Feed": "Feed",
"Gallery": "Gallery",
"Ratings": "Ratings",
"Text": "文本",
"Toggle": "Toggle",
"Video": "Video",
"Auto": "Auto",
"Landscape": "Landscape",
"Portrait": "Portrait",
"Left": "Left",
"Center": "Center",
"Right": "Right",
"Top": "Top",
"Middle": "Middle",
"Bottom": "Bottom",
"jpg": "jpg",
"png": "png",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色",
"New Blog Post": "New Blog Post",
"Triggers when a new blog post is published": "Triggers when a new blog post is published"
}

View File

@@ -0,0 +1,58 @@
import { createPiece } from '@activepieces/pieces-framework';
import { cmsAuth } from './lib/auth';
import { getBlogPostAction } from './lib/actions/get-blog-post';
import { getContentAction } from './lib/actions/get-content';
import { saveBlogGalleryAction } from './lib/actions/save-blog-gallery';
import { saveBlogImageAction } from './lib/actions/save-blog-image';
import { saveBlogPostAction } from './lib/actions/save-blog-post';
import { saveDateAction } from './lib/actions/save-date';
import { saveDepotAction } from './lib/actions/save-depot';
import { saveFileAction } from './lib/actions/save-file';
import { saveGalleryAction } from './lib/actions/save-gallery';
import { saveImageAction } from './lib/actions/save-image';
import { saveTextAction } from './lib/actions/save-text';
import { saveToggleAction } from './lib/actions/save-toggle';
import { saveVideoAction } from './lib/actions/save-video';
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import { PieceCategory } from '@activepieces/shared';
import { newBlogPost } from './lib/triggers/new-blog-post';
export const totalcms = createPiece({
displayName: 'Total CMS',
description: 'Content management system for modern websites',
auth: cmsAuth,
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/totalcms.png',
categories: [PieceCategory.MARKETING],
authors: ["joeworkman","kishanprmr","MoShizzle","abuaboud"],
actions: [
getContentAction,
getBlogPostAction,
saveBlogPostAction,
saveBlogGalleryAction,
saveBlogImageAction,
saveDateAction,
saveDepotAction,
saveFileAction,
saveGalleryAction,
saveImageAction,
saveTextAction,
saveToggleAction,
saveVideoAction,
createCustomApiCallAction({
baseUrl: (auth) => {
if (!auth) {
return '';
}
return (auth.props).domain;
},
auth: cmsAuth,
authMapping: async (auth) => ({
'total-key': (auth.props ).license,
}),
}),
],
triggers: [newBlogPost],
});

View File

@@ -0,0 +1,27 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { getBlogPost } from '../api';
import { cmsAuth } from '../auth';
export const getBlogPostAction = createAction({
name: 'get_blog_post',
auth: cmsAuth,
displayName: 'Get Blog Post',
description: 'Get a blog post from Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to retrieve',
required: true,
}),
permalink: Property.ShortText({
displayName: 'Permalink',
description: 'The permalink of the post to retrieve',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const permalink = context.propsValue.permalink;
return await getBlogPost(context.auth, slug, permalink);
},
});

View File

@@ -0,0 +1,43 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { getContent } from '../api';
import { cmsAuth } from '../auth';
export const getContentAction = createAction({
name: 'get_content',
auth: cmsAuth,
displayName: 'Get Content',
description: 'Get content from your Total CMS website',
props: {
type: Property.StaticDropdown({
displayName: 'Data Type',
description: 'The type of data to return',
required: true,
options: {
options: [
{ label: 'Blog', value: 'blog' },
{ label: 'Datastore', value: 'datastore' },
{ label: 'Date', value: 'date' },
{ label: 'Depot', value: 'depot' },
{ label: 'Feed', value: 'feed' },
{ label: 'File', value: 'file' },
{ label: 'Gallery', value: 'gallery' },
{ label: 'Image', value: 'image' },
{ label: 'Ratings', value: 'ratings' },
{ label: 'Text', value: 'text' },
{ label: 'Toggle', value: 'toggle' },
{ label: 'Video', value: 'video' },
],
},
}),
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to retrieve',
required: true,
}),
},
async run(context) {
const type = context.propsValue.type;
const slug = context.propsValue.slug;
return await getContent(context.auth, type, slug);
},
});

View File

@@ -0,0 +1,127 @@
import {
createAction,
Property,
} from '@activepieces/pieces-framework';
import { saveBlogGallery } from '../api';
import { cmsAuth } from '../auth';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
export const saveBlogGalleryAction = createAction({
name: 'save_blog_gallery',
auth: cmsAuth,
displayName: 'Save Blog Post Gallery Image',
description: 'Save image to Total CMS blog post gallery',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the blog to save',
required: true,
}),
permalink: Property.ShortText({
displayName: 'Permalink',
description: 'The permalink of the blog post to save',
required: true,
}),
image: Property.File({
displayName: 'Image',
description: 'The image to save',
required: true,
}),
alt: Property.ShortText({
displayName: 'Alt Text',
description: 'The alt text for the image',
required: true,
}),
quality: Property.Number({
displayName: 'Thumbnail Quality',
description: 'The quality of the thumbnail',
required: true,
defaultValue: 85,
}),
scaleTh: Property.Number({
displayName: 'Thumbnail Scale',
description: 'The scale of the thumbnail',
required: true,
defaultValue: 400,
}),
scaleSq: Property.Number({
displayName: 'Thumbnail Square Scale',
description: 'The scale of the square thumbnail',
required: true,
defaultValue: 400,
}),
resize: Property.StaticDropdown({
displayName: 'Thumbnail Resize Method',
description: 'The method to use when resizing the thumbnail',
required: true,
defaultValue: 'auto',
options: {
options: [
{ label: 'Auto', value: 'auto' },
{ label: 'Landscape', value: 'landscape' },
{ label: 'Portrait', value: 'portrait' },
],
},
}),
lcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'center',
options: {
options: [
{ label: 'Left', value: 'left' },
{ label: 'Center', value: 'center' },
{ label: 'Right', value: 'right' },
],
},
}),
pcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'middle',
options: {
options: [
{ label: 'Top', value: 'top' },
{ label: 'Middle', value: 'middle' },
{ label: 'Bottom', value: 'bottom' },
],
},
}),
altMeta: Property.Checkbox({
displayName: 'Pull Alt Text from Meta Data',
description:
'Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.',
required: true,
}),
},
async run(context) {
await propsValidation.validateZod(context.propsValue, {
quality: z.number().min(1).max(100),
scaleTh: z.number().min(1),
scaleSq: z.number().min(1),
});
const slug = context.propsValue.slug;
const image = {
filename: context.propsValue.image.filename,
base64: context.propsValue.image.base64,
};
return await saveBlogGallery(context.auth, slug, image, {
permalink: context.propsValue.permalink,
thumbs: 1,
optimize: 1,
alttype: context.propsValue.altMeta ? 'meta' : 'user',
alt: context.propsValue.alt,
quality: context.propsValue.quality,
scale_th: context.propsValue.scaleTh,
scale_sq: context.propsValue.scaleSq,
resize: context.propsValue.resize,
lcrop: context.propsValue.lcrop,
pcrop: context.propsValue.pcrop,
});
},
});

View File

@@ -0,0 +1,131 @@
import {
createAction,
Property,
} from '@activepieces/pieces-framework';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
import { saveBlogImage } from '../api';
import { cmsAuth } from '../auth';
export const saveBlogImageAction = createAction({
name: 'save_blog_image',
auth: cmsAuth,
displayName: 'Save Blog Post Image',
description: 'Save image to Total CMS blog post',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
permalink: Property.ShortText({
displayName: 'Permalink',
description: 'The permalink of the blog post to save',
required: true,
}),
image: Property.File({
displayName: 'Image',
description: 'The image to save',
required: true,
}),
alt: Property.ShortText({
displayName: 'Alt Text',
description: 'The alt text for the image',
required: true,
}),
quality: Property.Number({
displayName: 'Thumbnail Quality',
description: 'The quality of the thumbnail',
required: true,
defaultValue: 85,
}),
scaleTh: Property.Number({
displayName: 'Thumbnail Scale',
description: 'The scale of the thumbnail',
required: true,
defaultValue: 400,
}),
scaleSq: Property.Number({
displayName: 'Thumbnail Square Scale',
description: 'The scale of the square thumbnail',
required: true,
defaultValue: 400,
}),
resize: Property.StaticDropdown({
displayName: 'Thumbnail Resize Method',
description: 'The method to use when resizing the thumbnail',
required: true,
defaultValue: 'auto',
options: {
options: [
{ label: 'Auto', value: 'auto' },
{ label: 'Landscape', value: 'landscape' },
{ label: 'Portrait', value: 'portrait' },
],
},
}),
lcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'center',
options: {
options: [
{ label: 'Left', value: 'left' },
{ label: 'Center', value: 'center' },
{ label: 'Right', value: 'right' },
],
},
}),
pcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'middle',
options: {
options: [
{ label: 'Top', value: 'top' },
{ label: 'Middle', value: 'middle' },
{ label: 'Bottom', value: 'bottom' },
],
},
}),
altMeta: Property.Checkbox({
displayName: 'Pull Alt Text from Meta Data',
description:
'Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.',
required: true,
}),
},
async run(context) {
await propsValidation.validateZod(context.propsValue, {
quality: z.number().min(1).max(100),
scaleTh: z.number().min(1),
scaleSq: z.number().min(1),
});
const slug = context.propsValue.slug;
const image = {
filename: context.propsValue.image.filename,
base64: context.propsValue.image.base64,
};
return await saveBlogImage(context.auth, slug, image, {
permalink: context.propsValue.permalink,
thumbs: 1,
optimize: 1,
alttype: context.propsValue.altMeta ? 'meta' : 'user',
alt: context.propsValue.alt,
quality: context.propsValue.quality,
scale_th: context.propsValue.scaleTh,
scale_sq: context.propsValue.scaleSq,
resize: context.propsValue.resize,
lcrop: context.propsValue.lcrop,
pcrop: context.propsValue.pcrop,
// Cannot add support for ext option with how this API is built.
// it would break the saving of the blog post since it would try
// to save the blog post JSON file with the extension of the ext option
});
},
});

View File

@@ -0,0 +1,132 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveContent } from '../api';
import { cmsAuth } from '../auth';
export const saveBlogPostAction = createAction({
name: 'save_blog_post',
auth: cmsAuth,
displayName: 'Save Blog Post',
description: 'Save blog content to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
permalink: Property.ShortText({
displayName: 'Permalink',
description:
'The permalink of the blog post. Ensure this is unique or it will overwrite the existing post.',
required: true,
}),
title: Property.ShortText({
displayName: 'Title',
description: 'The title of the blog post',
required: false,
}),
timestamp: Property.Number({
displayName: 'Date (Unix Timestamp)',
description: 'The date in unix timestamp format',
required: false,
}),
summary: Property.LongText({
displayName: 'Summary',
description: 'The summary of the blog post',
required: false,
}),
content: Property.LongText({
displayName: 'Content',
description: 'The content of the blog post',
required: false,
}),
extra: Property.LongText({
displayName: 'Extra Content',
description: 'The extra content of the blog post',
required: false,
}),
extra2: Property.LongText({
displayName: 'Extra Content 2',
description: 'The extra content 2 of the blog post',
required: false,
}),
media: Property.ShortText({
displayName: 'Media',
description: 'The media of the blog post',
required: false,
}),
rssTitle: Property.ShortText({
displayName: 'RSS Title',
description: 'The RSS title of the blog post',
required: false,
}),
rssDescription: Property.ShortText({
displayName: 'RSS Description',
description: 'The RSS description of the blog post',
required: false,
}),
author: Property.ShortText({
displayName: 'Author',
description: 'The author of the blog post',
required: false,
}),
genre: Property.ShortText({
displayName: 'Genre',
description: 'The genre of the blog post',
required: false,
}),
categories: Property.ShortText({
displayName: 'Categories',
description: 'A comma separated list of categories for the blog post',
required: false,
}),
tags: Property.ShortText({
displayName: 'Tags',
description: 'A comma separated list of tags for the blog post',
required: false,
}),
labels: Property.ShortText({
displayName: 'Labels',
description: 'A comma separated list of labels for the blog post',
required: false,
}),
draft: Property.Checkbox({
displayName: 'Draft',
description: 'Set to true to save as a draft',
required: false,
}),
featured: Property.Checkbox({
displayName: 'Featured',
description: 'Set to true to save as a featured post',
required: false,
}),
archived: Property.Checkbox({
displayName: 'Archived',
description: 'Set to true to save as an archived post',
required: false,
}),
},
async run(context) {
const slug = context.propsValue.slug;
return await saveContent(context.auth, 'blog', slug, {
nodecode: true,
permalink: context.propsValue.permalink,
title: context.propsValue.title,
timestamp: context.propsValue.timestamp?.toString(),
summary: context.propsValue.summary,
content: context.propsValue.content,
extra: context.propsValue.extra,
extra2: context.propsValue.extra2,
media: context.propsValue.media,
rss_title: context.propsValue.rssTitle,
rss_description: context.propsValue.rssDescription,
author: context.propsValue.author,
genre: context.propsValue.genre,
categories: context.propsValue.categories,
tags: context.propsValue.tags,
labels: context.propsValue.labels,
draft: context.propsValue.draft ? 'true' : 'false',
featured: context.propsValue.featured ? 'true' : 'false',
archived: context.propsValue.archived ? 'true' : 'false',
});
},
});

View File

@@ -0,0 +1,30 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveContent } from '../api';
import { cmsAuth } from '../auth';
export const saveDateAction = createAction({
name: 'save_date',
auth: cmsAuth,
displayName: 'Save Date Content',
description: 'Save date content to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
timestamp: Property.Number({
displayName: 'Unix Timestamp',
description: 'The unix timestamp to save',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const timestamp = context.propsValue.timestamp;
return await saveContent(context.auth, 'date', slug, {
nodecode: true,
timestamp: timestamp.toString(),
});
},
});

View File

@@ -0,0 +1,30 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveDepot } from '../api';
import { cmsAuth } from '../auth';
export const saveDepotAction = createAction({
name: 'save_depot',
auth: cmsAuth,
displayName: 'Save Depot',
description: 'Save file to Total CMS depot',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the depot to save',
required: true,
}),
file: Property.File({
displayName: 'File',
description: 'The file to save',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const file = {
filename: context.propsValue.file.filename,
base64: context.propsValue.file.base64,
};
return await saveDepot(context.auth, slug, file);
},
});

View File

@@ -0,0 +1,37 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveFile } from '../api';
import { cmsAuth } from '../auth';
export const saveFileAction = createAction({
name: 'save_file',
auth: cmsAuth,
displayName: 'Save File',
description: 'Save file to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the file to save',
required: true,
}),
ext: Property.ShortText({
displayName: 'File Extension',
description: 'The file extension of the file',
required: true,
}),
file: Property.File({
displayName: 'File',
description: 'The file to save',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const file = {
filename: context.propsValue.file.filename,
base64: context.propsValue.file.base64,
};
return await saveFile(context.auth, slug, file, {
ext: context.propsValue.ext,
});
},
});

View File

@@ -0,0 +1,122 @@
import {
createAction,
Property,
} from '@activepieces/pieces-framework';
import { saveGallery } from '../api';
import { cmsAuth } from '../auth';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
export const saveGalleryAction = createAction({
name: 'save_gallery',
auth: cmsAuth,
displayName: 'Save Gallery Image',
description: 'Save image to Total CMS gallery',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the gallery to save',
required: true,
}),
image: Property.File({
displayName: 'Image',
description: 'The image to save',
required: true,
}),
alt: Property.ShortText({
displayName: 'Alt Text',
description: 'The alt text for the image',
required: true,
}),
quality: Property.Number({
displayName: 'Thumbnail Quality',
description: 'The quality of the thumbnail',
required: true,
defaultValue: 85,
}),
scaleTh: Property.Number({
displayName: 'Thumbnail Scale',
description: 'The scale of the thumbnail',
required: true,
defaultValue: 400,
}),
scaleSq: Property.Number({
displayName: 'Thumbnail Square Scale',
description: 'The scale of the square thumbnail',
required: true,
defaultValue: 400,
}),
resize: Property.StaticDropdown({
displayName: 'Thumbnail Resize Method',
description: 'The method to use when resizing the thumbnail',
required: true,
defaultValue: 'auto',
options: {
options: [
{ label: 'Auto', value: 'auto' },
{ label: 'Landscape', value: 'landscape' },
{ label: 'Portrait', value: 'portrait' },
],
},
}),
lcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'center',
options: {
options: [
{ label: 'Left', value: 'left' },
{ label: 'Center', value: 'center' },
{ label: 'Right', value: 'right' },
],
},
}),
pcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'middle',
options: {
options: [
{ label: 'Top', value: 'top' },
{ label: 'Middle', value: 'middle' },
{ label: 'Bottom', value: 'bottom' },
],
},
}),
altMeta: Property.Checkbox({
displayName: 'Pull Alt Text from Meta Data',
description:
'Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.',
required: true,
}),
},
async run(context) {
await propsValidation.validateZod(context.propsValue, {
quality: z.number().min(1).max(100),
scaleTh: z.number().min(1),
scaleSq: z.number().min(1),
});
const slug = context.propsValue.slug;
const image = {
filename: context.propsValue.image.filename,
base64: context.propsValue.image.base64,
};
return await saveGallery(context.auth, slug, image, {
thumbs: 1,
optimize: 1,
alttype: context.propsValue.altMeta ? 'meta' : 'user',
alt: context.propsValue.alt,
quality: context.propsValue.quality,
scale_th: context.propsValue.scaleTh,
scale_sq: context.propsValue.scaleSq,
resize: context.propsValue.resize,
lcrop: context.propsValue.lcrop,
pcrop: context.propsValue.pcrop,
});
},
});

View File

@@ -0,0 +1,134 @@
import {
createAction,
Property,
} from '@activepieces/pieces-framework';
import { saveImage } from '../api';
import { cmsAuth } from '../auth';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
export const saveImageAction = createAction({
name: 'save_image',
auth: cmsAuth,
displayName: 'Save Image',
description: 'Save image to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
image: Property.File({
displayName: 'Image',
description: 'The image to save',
required: true,
}),
alt: Property.ShortText({
displayName: 'Alt Text',
description: 'The alt text for the image',
required: true,
}),
ext: Property.StaticDropdown({
displayName: 'Extension',
description: 'The extension of the image',
required: true,
defaultValue: 'jpg',
options: {
options: [
{ label: 'jpg', value: 'jpg' },
{ label: 'png', value: 'png' },
],
},
}),
quality: Property.Number({
displayName: 'Thumbnail Quality',
description: 'The quality of the thumbnail',
required: true,
defaultValue: 85,
}),
scaleTh: Property.Number({
displayName: 'Thumbnail Scale',
description: 'The scale of the thumbnail',
required: true,
defaultValue: 400,
}),
scaleSq: Property.Number({
displayName: 'Thumbnail Square Scale',
description: 'The scale of the square thumbnail',
required: true,
defaultValue: 400,
}),
resize: Property.StaticDropdown({
displayName: 'Thumbnail Resize Method',
description: 'The method to use when resizing the thumbnail',
required: true,
defaultValue: 'auto',
options: {
options: [
{ label: 'Auto', value: 'auto' },
{ label: 'Landscape', value: 'landscape' },
{ label: 'Portrait', value: 'portrait' },
],
},
}),
lcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'center',
options: {
options: [
{ label: 'Left', value: 'left' },
{ label: 'Center', value: 'center' },
{ label: 'Right', value: 'right' },
],
},
}),
pcrop: Property.StaticDropdown({
displayName: 'Thumbnail Landscape Crop',
description:
'The method to use when cropping the landscape thumbnail for the square thumbnail',
required: true,
defaultValue: 'middle',
options: {
options: [
{ label: 'Top', value: 'top' },
{ label: 'Middle', value: 'middle' },
{ label: 'Bottom', value: 'bottom' },
],
},
}),
altMeta: Property.Checkbox({
displayName: 'Pull Alt Text from Meta Data',
description:
'Pull the alt text from the meta data of the image. If set, place placeholder text in the alt text field above.',
required: true,
}),
},
async run(context) {
await propsValidation.validateZod(context.propsValue, {
quality: z.number().min(1).max(100),
scaleTh: z.number().min(1),
scaleSq: z.number().min(1),
});
const slug = context.propsValue.slug;
const image = {
filename: context.propsValue.image.filename,
base64: context.propsValue.image.base64,
};
return await saveImage(context.auth, slug, image, {
thumbs: 1,
optimize: 1,
alttype: context.propsValue.altMeta ? 'meta' : 'user',
alt: context.propsValue.alt,
ext: context.propsValue.ext,
quality: context.propsValue.quality,
scale_th: context.propsValue.scaleTh,
scale_sq: context.propsValue.scaleSq,
resize: context.propsValue.resize,
lcrop: context.propsValue.lcrop,
pcrop: context.propsValue.pcrop,
});
},
});

View File

@@ -0,0 +1,30 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveContent } from '../api';
import { cmsAuth } from '../auth';
export const saveTextAction = createAction({
name: 'save_text',
auth: cmsAuth,
displayName: 'Save Text Content',
description: 'Save text content to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
text: Property.LongText({
displayName: 'Text Content',
description: 'The text content to save',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const text = context.propsValue.text;
return await saveContent(context.auth, 'text', slug, {
nodecode: true,
text: text,
});
},
});

View File

@@ -0,0 +1,30 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { saveContent } from '../api';
import { cmsAuth } from '../auth';
export const saveToggleAction = createAction({
name: 'save_toggle',
auth: cmsAuth,
displayName: 'Save Toggle',
description: 'Save toggle content to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
status: Property.Checkbox({
displayName: 'Status',
description: 'The status of the toggle. "true" is on, "false" is off.',
required: true,
}),
},
async run(context) {
const slug = context.propsValue.slug;
const status = context.propsValue.status ? 'true' : 'false';
return await saveContent(context.auth, 'toggle', slug, {
nodecode: true,
state: status,
});
},
});

View File

@@ -0,0 +1,39 @@
import {
createAction,
Property,
} from '@activepieces/pieces-framework';
import { saveContent } from '../api';
import { cmsAuth } from '../auth';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
export const saveVideoAction = createAction({
name: 'save_video',
auth: cmsAuth,
displayName: 'Save Video Content',
description: 'Save video content to Total CMS',
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to save',
required: true,
}),
video: Property.ShortText({
displayName: 'Video URL',
description: 'The URL of the video to save',
required: true,
}),
},
async run(context) {
await propsValidation.validateZod(context.propsValue, {
video: z.string().url(),
});
const slug = context.propsValue.slug;
const video = context.propsValue.video;
return await saveContent(context.auth, 'video', slug, {
nodecode: true,
video: video,
});
},
});

View File

@@ -0,0 +1,173 @@
import {
httpClient,
HttpMethod,
HttpRequest,
QueryParams,
} from '@activepieces/pieces-common';
import { TotalCMSAuthType } from './auth';
import FormData from 'form-data';
export type KeyValuePair = {
[key: string]: string | boolean | number | object | undefined;
};
export type FileUpload = { filename: string; base64: string };
const totalcmsAPI = async (
auth: TotalCMSAuthType,
type: string,
slug: string,
query: QueryParams = {},
data: KeyValuePair = {},
method: HttpMethod = HttpMethod.GET
) => {
if (method === HttpMethod.GET) {
query['slug'] = slug;
query['type'] = type;
} else {
data['slug'] = slug;
data['type'] = type;
}
const request: HttpRequest = {
body: data,
queryParams: query,
method: method,
url: `${auth.props.domain}/rw_common/plugins/stacks/total-cms/totalapi.php`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'total-key': auth.props.license,
},
};
const response = await httpClient.sendRequest(request);
if (response.status !== 200) {
throw new Error(`Total CMS API error: ${response.status} ${response.body}`);
}
return {
success: true,
data: response.body['data'],
};
};
const totalcmsUploadAPI = async (
auth: TotalCMSAuthType,
type: string,
slug: string,
file: FileUpload,
data: KeyValuePair = {},
fileName = 'file'
) => {
const formData = new FormData();
formData.append('type', type);
formData.append('slug', slug);
formData.append(fileName, Buffer.from(file.base64, 'base64'), file.filename);
for (const key in data) {
if (fileName !== 'file') {
// blog post images use the format image[alt] or gallery[alt]
formData.append(`${fileName}[${key}]`, data[key]);
}
formData.append(key, data[key]);
}
const request: HttpRequest = {
body: formData,
method: HttpMethod.POST,
url: `${auth.props.domain}/rw_common/plugins/stacks/total-cms/totalapi.php`,
headers: {
'Content-Type': 'multipart/form-data',
'total-key': auth.props.license,
},
};
const response = await httpClient.sendRequest(request);
if (response.status !== 200) {
throw new Error(`Total CMS API error: ${response.status} ${response.body}`);
}
return {
success: true,
data: response.body['data'],
};
};
export async function saveFile(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload,
data: KeyValuePair
) {
return totalcmsUploadAPI(auth, 'file', slug, file, data);
}
export async function saveDepot(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload
) {
return totalcmsUploadAPI(auth, 'depot', slug, file);
}
export async function saveImage(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload,
data: KeyValuePair
) {
return totalcmsUploadAPI(auth, 'image', slug, file, data);
}
export async function saveGallery(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload,
data: KeyValuePair
) {
return totalcmsUploadAPI(auth, 'gallery', slug, file, data);
}
export async function saveBlogImage(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload,
data: KeyValuePair
) {
return totalcmsUploadAPI(auth, 'blog', slug, file, data, 'image');
}
export async function saveBlogGallery(
auth: TotalCMSAuthType,
slug: string,
file: FileUpload,
data: KeyValuePair
) {
return totalcmsUploadAPI(auth, 'blog', slug, file, data, 'gallery');
}
export async function saveContent(
auth: TotalCMSAuthType,
type: string,
slug: string,
data: KeyValuePair
) {
return totalcmsAPI(auth, type, slug, {}, data, HttpMethod.POST);
}
export async function getContent(
auth: TotalCMSAuthType,
type: string,
slug: string,
query: QueryParams = {}
) {
return totalcmsAPI(auth, type, slug, query);
}
export async function getBlogPost(
auth: TotalCMSAuthType,
slug: string,
permalink: string
) {
return totalcmsAPI(auth, 'blog', slug, { permalink: permalink });
}

View File

@@ -0,0 +1,45 @@
import { AppConnectionValueForAuthProperty, PieceAuth, Property } from '@activepieces/pieces-framework';
import { z } from 'zod';
import { propsValidation } from '@activepieces/pieces-common';
import { saveContent } from './api';
import { AppConnectionType } from '@activepieces/shared';
export type TotalCMSAuthType = AppConnectionValueForAuthProperty<typeof cmsAuth>;
export const cmsAuth = PieceAuth.CustomAuth({
description: 'Setup your Total CMS connection',
props: {
domain: Property.ShortText({
displayName: 'Total CMS Domain',
description: 'The domain of your Total CMS website',
required: true,
}),
license: PieceAuth.SecretText({
displayName: 'License Key',
description: 'The License key for your Total CMS domain',
required: true,
}),
},
required: true,
async validate({ auth }) {
await propsValidation.validateZod(auth, {
domain: z.string().url(),
license: z.string(),
});
const response = await saveContent({
type: AppConnectionType.CUSTOM_AUTH,
props: auth,
}, 'text', 'activepieces', {
text: 'verified',
});
if (response.success !== true) {
throw new Error(
'Authentication failed. Please check your domain and license key and try again.'
);
}
return {
valid: true,
};
},
});

View File

@@ -0,0 +1,75 @@
import {
TriggerStrategy,
createTrigger,
Property,
PiecePropValueSchema,
AppConnectionValueForAuthProperty,
} from '@activepieces/pieces-framework';
import {
DedupeStrategy,
Polling,
pollingHelper,
} from '@activepieces/pieces-common';
import { TotalCMSAuthType, cmsAuth } from '../auth';
import { getContent } from '../api';
const polling: Polling<
AppConnectionValueForAuthProperty<typeof cmsAuth>,
{ slug: string }
> = {
strategy: DedupeStrategy.LAST_ITEM,
items: async ({ auth, propsValue }) => {
const slug = propsValue.slug;
const posts = await getContent(auth, 'blog', slug);
return posts.data.map((post: { permalink: string }) => ({
id: post.permalink,
data: post,
}));
},
};
export const newBlogPost = createTrigger({
name: 'new_blog_post',
displayName: 'New Blog Post',
description: 'Triggers when a new blog post is published',
type: TriggerStrategy.POLLING,
props: {
slug: Property.ShortText({
displayName: 'CMS ID',
description: 'The CMS ID of the content to retrieve',
required: true,
}),
},
sampleData: {},
onEnable: async (context) => {
await pollingHelper.onEnable(polling, {
auth: context.auth as TotalCMSAuthType,
store: context.store,
propsValue: context.propsValue,
});
},
onDisable: async (context) => {
await pollingHelper.onDisable(polling, {
auth: context.auth as TotalCMSAuthType,
store: context.store,
propsValue: context.propsValue,
});
},
run: async (context) => {
return await pollingHelper.poll(polling, {
auth: context.auth as TotalCMSAuthType,
store: context.store,
propsValue: context.propsValue,
files: context.files,
});
},
test: async (context) => {
return await pollingHelper.test(polling, {
auth: context.auth as TotalCMSAuthType,
store: context.store,
propsValue: context.propsValue,
files: context.files,
});
},
});

View File

@@ -0,0 +1,19 @@
{
"extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
]
}

View File

@@ -0,0 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"]
}