Compare commits
	
		
			2 Commits
		
	
	
		
			dependabot
			...
			AUT-964
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | f0b5d85a7a | ||
|   | 2295507a2c | 
							
								
								
									
										8
									
								
								packages/backend/src/apps/monday/assets/favicon.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								packages/backend/src/apps/monday/assets/favicon.svg
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <svg width="256px" height="156px" viewBox="0 0 256 156" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"> | ||||
|     <g> | ||||
|         <path d="M31.8458633,153.488694 C20.3244423,153.513586 9.68073708,147.337265 3.98575204,137.321731 C-1.62714067,127.367831 -1.29055839,115.129325 4.86093879,105.498969 L62.2342919,15.4033556 C68.2125882,5.54538256 79.032489,-0.333585033 90.5563073,0.0146553508 C102.071737,0.290611552 112.546041,6.74705604 117.96667,16.9106216 C123.315033,27.0238906 122.646488,39.1914174 116.240607,48.6847625 L58.9037201,138.780375 C52.9943022,147.988884 42.7873202,153.537154 31.8458633,153.488694 L31.8458633,153.488694 Z" fill="#F62B54"></path> | ||||
|         <path d="M130.25575,153.488484 C118.683837,153.488484 108.035731,147.301291 102.444261,137.358197 C96.8438154,127.431292 97.1804475,115.223704 103.319447,105.620522 L160.583402,15.7315506 C166.47539,5.73210989 177.327374,-0.284878136 188.929728,0.0146553508 C200.598885,0.269918151 211.174058,6.7973526 216.522421,17.0078646 C221.834319,27.2183766 221.056375,39.4588356 214.456008,48.9278699 L157.204209,138.816842 C151.313487,147.985468 141.153618,153.5168 130.25575,153.488484 Z" fill="#FFCC00"></path> | ||||
|         <ellipse fill="#00CA72" cx="226.465527" cy="125.324379" rx="29.5375538" ry="28.9176274"></ellipse> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										21
									
								
								packages/backend/src/apps/monday/auth/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								packages/backend/src/apps/monday/auth/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| import verifyCredentials from './verify-credentials.js'; | ||||
| import isStillVerified from './is-still-verified.js'; | ||||
|  | ||||
| export default { | ||||
|   fields: [ | ||||
|     { | ||||
|       key: 'apiToken', | ||||
|       label: 'API Token', | ||||
|       type: 'string', | ||||
|       required: true, | ||||
|       readOnly: false, | ||||
|       value: null, | ||||
|       placeholder: null, | ||||
|       description: 'Monday.com API token of your account.', | ||||
|       clickToCopy: false, | ||||
|     }, | ||||
|   ], | ||||
|  | ||||
|   verifyCredentials, | ||||
|   isStillVerified, | ||||
| }; | ||||
| @@ -0,0 +1,8 @@ | ||||
| import verifyCredentials from './verify-credentials.js'; | ||||
|  | ||||
| const isStillVerified = async ($) => { | ||||
|   await verifyCredentials($); | ||||
|   return true; | ||||
| }; | ||||
|  | ||||
| export default isStillVerified; | ||||
							
								
								
									
										18
									
								
								packages/backend/src/apps/monday/auth/verify-credentials.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								packages/backend/src/apps/monday/auth/verify-credentials.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| const verifyCredentials = async ($) => { | ||||
|   const body = { | ||||
|     query: 'query { me { name, email } }', | ||||
|   }; | ||||
|  | ||||
|   const { data } = await $.http.post('/', body); | ||||
|  | ||||
|   const screenName = [data.data.me.name, data.data.me.email] | ||||
|     .filter(Boolean) | ||||
|     .join(' @ '); | ||||
|  | ||||
|   await $.auth.set({ | ||||
|     screenName, | ||||
|     apiToken: $.auth.data.apiToken, | ||||
|   }); | ||||
| }; | ||||
|  | ||||
| export default verifyCredentials; | ||||
| @@ -0,0 +1,9 @@ | ||||
| const addAuthHeader = ($, requestConfig) => { | ||||
|   if ($.auth.data?.apiToken) { | ||||
|     requestConfig.headers.Authorization = $.auth.data.apiToken; | ||||
|   } | ||||
|  | ||||
|   return requestConfig; | ||||
| }; | ||||
|  | ||||
| export default addAuthHeader; | ||||
							
								
								
									
										18
									
								
								packages/backend/src/apps/monday/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								packages/backend/src/apps/monday/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| import defineApp from '../../helpers/define-app.js'; | ||||
| import addAuthHeader from './common/add-auth-header.js'; | ||||
| import auth from './auth/index.js'; | ||||
| import triggers from './triggers/index.js'; | ||||
|  | ||||
| export default defineApp({ | ||||
|   name: 'Monday', | ||||
|   key: 'monday', | ||||
|   iconUrl: '{BASE_URL}/apps/monday/assets/favicon.svg', | ||||
|   authDocUrl: '{DOCS_URL}/apps/monday/connection', | ||||
|   supportsConnections: true, | ||||
|   baseUrl: 'https://monday.com', | ||||
|   apiBaseUrl: 'https://api.monday.com/v2', | ||||
|   primaryColor: 'F62B54', | ||||
|   beforeRequest: [addAuthHeader], | ||||
|   auth, | ||||
|   triggers, | ||||
| }); | ||||
							
								
								
									
										3
									
								
								packages/backend/src/apps/monday/triggers/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								packages/backend/src/apps/monday/triggers/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| import newBoards from './new-boards/index.js'; | ||||
|  | ||||
| export default [newBoards]; | ||||
| @@ -0,0 +1,29 @@ | ||||
| import defineTrigger from '../../../../helpers/define-trigger.js'; | ||||
|  | ||||
| export default defineTrigger({ | ||||
|   name: 'New board', | ||||
|   key: 'newBoard', | ||||
|   pollInterval: 15, | ||||
|   description: 'Triggers when a new board is created.', | ||||
|  | ||||
|   async run($) { | ||||
|     const body = { | ||||
|       query: 'query { boards { id, name } }', | ||||
|     }; | ||||
|  | ||||
|     const { data } = await $.http.post('/', body); | ||||
|  | ||||
|     if (!data?.data?.boards?.length) { | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     for (const board of data.data.boards) { | ||||
|       $.pushTriggerItem({ | ||||
|         raw: board, | ||||
|         meta: { | ||||
|           internalId: board.id, | ||||
|         }, | ||||
|       }); | ||||
|     } | ||||
|   }, | ||||
| }); | ||||
| @@ -224,6 +224,15 @@ export default defineConfig({ | ||||
|             { text: 'Connection', link: '/apps/miro/connection' }, | ||||
|           ], | ||||
|         }, | ||||
|         { | ||||
|           text: 'Monday', | ||||
|           collapsible: true, | ||||
|           collapsed: true, | ||||
|           items: [ | ||||
|             { text: 'Triggers', link: '/apps/monday/triggers' }, | ||||
|             { text: 'Connection', link: '/apps/monday/connection' }, | ||||
|           ], | ||||
|         }, | ||||
|         { | ||||
|           text: 'Notion', | ||||
|           collapsible: true, | ||||
|   | ||||
							
								
								
									
										12
									
								
								packages/docs/pages/apps/monday/connection.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								packages/docs/pages/apps/monday/connection.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| # Monday | ||||
|  | ||||
| :::info | ||||
| This page explains the steps you need to follow to set up the Monday | ||||
| connection in Automatisch. If any of the steps are outdated, please let us know! | ||||
| ::: | ||||
|  | ||||
| 1. Login to your Monday account: [https://monday.com](https://monday.com). | ||||
| 2. Click on the account logo and go to the **Developers** page. | ||||
| 3. Click on the **My access tokens** tab on the left. | ||||
| 4. Click on the **Show** button and copy the access token from the page to the `API Token` field on Automatisch. | ||||
| 5. Now, you can start using the Monday connection with Automatisch. | ||||
							
								
								
									
										12
									
								
								packages/docs/pages/apps/monday/triggers.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								packages/docs/pages/apps/monday/triggers.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| --- | ||||
| favicon: /favicons/monday.svg | ||||
| items: | ||||
|   - name: New board | ||||
|     desc: Triggers when a new board is created. | ||||
| --- | ||||
|  | ||||
| <script setup> | ||||
|   import CustomListing from '../../components/CustomListing.vue' | ||||
| </script> | ||||
|  | ||||
| <CustomListing /> | ||||
| @@ -23,6 +23,7 @@ The following integrations are currently supported by Automatisch. | ||||
| - [Invoice Ninja](/apps/invoice-ninja/triggers) | ||||
| - [Mattermost](/apps/mattermost/actions) | ||||
| - [Miro](/apps/miro/actions) | ||||
| - [Monday](/apps/monday/triggers) | ||||
| - [Notion](/apps/notion/triggers) | ||||
| - [Ntfy](/apps/ntfy/actions) | ||||
| - [Odoo](/apps/odoo/actions) | ||||
|   | ||||
							
								
								
									
										8
									
								
								packages/docs/pages/public/favicons/monday.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								packages/docs/pages/public/favicons/monday.svg
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <svg width="256px" height="156px" viewBox="0 0 256 156" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"> | ||||
|     <g> | ||||
|         <path d="M31.8458633,153.488694 C20.3244423,153.513586 9.68073708,147.337265 3.98575204,137.321731 C-1.62714067,127.367831 -1.29055839,115.129325 4.86093879,105.498969 L62.2342919,15.4033556 C68.2125882,5.54538256 79.032489,-0.333585033 90.5563073,0.0146553508 C102.071737,0.290611552 112.546041,6.74705604 117.96667,16.9106216 C123.315033,27.0238906 122.646488,39.1914174 116.240607,48.6847625 L58.9037201,138.780375 C52.9943022,147.988884 42.7873202,153.537154 31.8458633,153.488694 L31.8458633,153.488694 Z" fill="#F62B54"></path> | ||||
|         <path d="M130.25575,153.488484 C118.683837,153.488484 108.035731,147.301291 102.444261,137.358197 C96.8438154,127.431292 97.1804475,115.223704 103.319447,105.620522 L160.583402,15.7315506 C166.47539,5.73210989 177.327374,-0.284878136 188.929728,0.0146553508 C200.598885,0.269918151 211.174058,6.7973526 216.522421,17.0078646 C221.834319,27.2183766 221.056375,39.4588356 214.456008,48.9278699 L157.204209,138.816842 C151.313487,147.985468 141.153618,153.5168 130.25575,153.488484 Z" fill="#FFCC00"></path> | ||||
|         <ellipse fill="#00CA72" cx="226.465527" cy="125.324379" rx="29.5375538" ry="28.9176274"></ellipse> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.4 KiB | 
		Reference in New Issue
	
	Block a user