Compare commits

...

2071 Commits

Author SHA1 Message Date
Ali BARIN
f36155f3a5 chore(coverage): add redundant code to test coverage threshold 2024-11-25 09:01:26 +00:00
Ali BARIN
09335fcd79 chore: add test coverage 2024-11-25 09:01:05 +00:00
Ömer Faruk Aydın
823a2c8b73 Merge pull request #2199 from automatisch/aut-1350-startTrialPeriod
test(user): write test for startTrialPeriod
2024-11-21 17:52:42 +03:00
Ali BARIN
741866e742 test(user): use luxon DateTime with zone over Date 2024-11-21 17:42:42 +03:00
Ali BARIN
41622678b0 test(user): write test for startTrialPeriod 2024-11-21 17:42:40 +03:00
Ömer Faruk Aydın
449b953401 Merge pull request #2198 from automatisch/aut-1350-generateHash
test(user): write tests for generateHash
2024-11-21 17:41:06 +03:00
Ali BARIN
6345ce5195 test(user): write tests for generateHash 2024-11-21 17:29:13 +03:00
Ömer Faruk Aydın
95651f6163 Merge pull request #2197 from automatisch/aut-1350-isInvitationTokenValid
test(user): write tests for isInvitationTokenValid
2024-11-21 17:23:10 +03:00
Ali BARIN
b02c1545b7 test(user): use luxon DateTime with zone over Date 2024-11-21 17:15:00 +03:00
Ali BARIN
2deaab9b24 test(user): write tests for isInvitationTokenValid 2024-11-21 17:14:56 +03:00
Ömer Faruk Aydın
f0d4853533 Merge pull request #2188 from automatisch/aut-1350-sendInvitationEmail
test(user): write test for sendInvitationEmail
2024-11-21 16:46:35 +03:00
Ali BARIN
af81ae812f Merge pull request #2222 from automatisch/fix-devcontainer
fix(devcontainer): remove yarn workspaces
2024-11-21 14:44:40 +01:00
Ali BARIN
bae76064e5 test(user): use luxon DateTime with zone over Date 2024-11-21 13:33:30 +00:00
Ali BARIN
07d9198cc8 test(user): write test for sendInvitationEmail 2024-11-21 13:31:41 +00:00
Ömer Faruk Aydın
a2e07ea2f7 Merge pull request #2187 from automatisch/aut-1350-isResetPasswordTokenValid
test(user): write test cases for isResetPasswordTokenValid
2024-11-21 16:29:50 +03:00
Ali BARIN
864c762fe2 test(user): use luxon DateTime with zone over Date 2024-11-21 12:49:33 +00:00
Ali BARIN
167bb4e8a0 test(user): write test cases for isResetPasswordTokenValid 2024-11-21 12:34:08 +00:00
Ömer Faruk Aydın
4cf64ede74 Merge pull request #2185 from automatisch/aut-1350-sendResetPasswordEmail
test(user): write test for sendResetPasswordEmail
2024-11-21 14:57:42 +03:00
Ali BARIN
bb309fea6f test(user): write test for sendResetPasswordEmail 2024-11-21 14:47:18 +03:00
Ömer Faruk Aydın
1133362028 Merge pull request #2184 from automatisch/aut-1350-softRemove
test(user): write test for softRemove
2024-11-21 14:34:53 +03:00
Ali BARIN
eb9226bd4a test(user): write test for softRemove 2024-11-21 14:23:29 +03:00
Ömer Faruk Aydın
a9abdcc37e Merge pull request #2212 from automatisch/remove-lerna
Remove lerna and yarn workspaces
2024-11-21 13:51:57 +03:00
Ali BARIN
6ace93bdbf fix(devcontainer): remove yarn workspaces 2024-11-21 10:17:43 +00:00
Faruk AYDIN
b89197939a docs: Adjust development setup page for new package setup 2024-11-21 12:40:31 +03:00
Faruk AYDIN
da788106af feat: Add separate gitignore file for docs package 2024-11-21 12:40:25 +03:00
Faruk AYDIN
49e92e6f1d fix: Adjust build web CI job to use cache dependency path 2024-11-19 20:50:15 +03:00
Faruk AYDIN
a6c3276104 chore: Remove root package.json file 2024-11-19 20:46:13 +03:00
Faruk AYDIN
6388bfc714 docs: Adjust repository structure page to reflect individual packages 2024-11-19 20:37:08 +03:00
Faruk AYDIN
bebc3b181d chore: Remove lerna debug file from .gitignore 2024-11-19 20:36:48 +03:00
Faruk AYDIN
5a6d561c1a refactor: Adjust dockerfile to work without lerna 2024-11-19 18:31:39 +03:00
Faruk AYDIN
5ba575fdfd fix: Add knex individually to e2e-tests package 2024-11-19 16:04:21 +03:00
Faruk AYDIN
dcf8bbd804 chore: Add axios package to e2e-tests package 2024-11-19 15:56:10 +03:00
Faruk AYDIN
ff93ffd0b1 fix: Adjust e2e-tests CI job working directories 2024-11-19 15:49:25 +03:00
Faruk AYDIN
395c09df92 fix: Use named ClickAwayListener import statement for web 2024-11-19 15:41:59 +03:00
Faruk AYDIN
4c903cd08b fix: Adjust backend start server CI job working directory 2024-11-19 15:36:01 +03:00
Faruk AYDIN
64cb98717c fix: Adjust backend start worker CI job working directory 2024-11-19 15:35:21 +03:00
Faruk AYDIN
b0e4ce54fb fix: Add fakerjs individually to backend package 2024-11-19 15:29:36 +03:00
Faruk AYDIN
d67a37002f fix: Use working directory for backend tests CI job 2024-11-19 15:24:40 +03:00
Faruk AYDIN
965ff8bc3f fix: Add axios individually to web package 2024-11-19 15:20:35 +03:00
Faruk AYDIN
400a495ad2 chore: Remove cache dependency path for build web CI job 2024-11-19 15:14:06 +03:00
Faruk AYDIN
09d0822a8d fix: Adjust working directory for build-web CI job 2024-11-19 15:09:46 +03:00
Faruk AYDIN
7016c20ccc fix: Change working directory for linter CI job 2024-11-19 15:03:54 +03:00
Faruk AYDIN
df54895805 fix: Linter command to work without workspaces 2024-11-19 15:00:23 +03:00
Faruk AYDIN
62d5e6fe51 chore: Remove root package dev dependencies 2024-11-19 14:57:39 +03:00
Faruk AYDIN
4615a0b7ea chore: Remove workspaces from root package.json file 2024-11-19 14:51:53 +03:00
Faruk AYDIN
280d603b14 chore: Remove lerna.json file 2024-11-18 20:21:20 +03:00
Faruk AYDIN
36271f0749 refactor: Explicitly state different packages for lerna 2024-11-18 20:16:20 +03:00
Ali BARIN
579638f932 Merge pull request #2210 from automatisch/release/v0.14.0
Update version to 0.14.0
2024-11-18 17:32:18 +01:00
Faruk AYDIN
48871c82a6 Update version to 0.14.0 2024-11-18 15:43:23 +00:00
Ali BARIN
14056c42ef Merge pull request #2211 from automatisch/upgrade-lerna
chore(deps): upgrade lerna with version 8
2024-11-18 16:42:08 +01:00
Ali BARIN
90fe1576de chore(lerna): remove bootstrap command usages 2024-11-18 15:00:49 +00:00
Ali BARIN
d61cf13985 chore(deps): upgrade lerna with version 8 2024-11-18 14:47:54 +00:00
Ali BARIN
dfe6dfd0c6 Merge pull request #2196 from automatisch/AUT-1364
feat: inline login form error and unify Alert font weight
2024-11-18 11:08:58 +01:00
Ali BARIN
c138c7d0e9 Merge pull request #2190 from automatisch/AUT-1347
feat: persist pagination and search value on flows page
2024-11-18 11:07:34 +01:00
Ali BARIN
d542be947e Merge pull request #2186 from automatisch/test-saml-auth-provider
test: Implement tests for saml auth provider url methods
2024-11-15 14:45:46 +01:00
kasia.oczkowska
c76366e72e feat: introduce improvements 2024-11-15 10:37:18 +00:00
kasia.oczkowska
75abfda783 feat: inline login form error and unify Alert font weight 2024-11-14 14:10:07 +00:00
Ali BARIN
f3d8d7d4ad Merge pull request #2191 from automatisch/AUT-1280
feat: make Wordpress instanceUrl field required
2024-11-14 12:31:43 +01:00
Ömer Faruk Aydın
7255eccb22 Merge pull request #2183 from automatisch/aut-1350-updatePassword
test(user): write tests for updatePassword
2024-11-13 19:31:28 +01:00
Ali BARIN
a0decb70cc test(user): write tests for updatePassword 2024-11-13 19:22:04 +01:00
kasia.oczkowska
532f562495 feat: make Wordpress instanceUrl field required 2024-11-13 14:32:16 +00:00
kasia.oczkowska
27e58ae925 feat: persist pagination and search value on flows page 2024-11-13 13:44:05 +00:00
Ali BARIN
abf30dfc1a Merge pull request #2167 from automatisch/AUT-1152
fix: variable chip label disappearing
2024-11-12 13:18:22 +01:00
Ali BARIN
218b8ce86e Merge pull request #2143 from automatisch/AUT-1325
feat: introduce uniqueness validation for remote role name
2024-11-12 13:18:07 +01:00
Faruk AYDIN
4867ffcb4b test: Implement tests for saml auth provider url methods 2024-11-12 13:12:00 +01:00
Ömer Faruk Aydın
e34c3b411d Merge pull request #2182 from automatisch/aut-1350-acceptInvitation
test(user): write test for acceptInvitation
2024-11-12 13:03:32 +01:00
Ali BARIN
c91b8be1a6 test(user): write test for acceptInvitation 2024-11-12 12:54:10 +01:00
Ömer Faruk Aydın
9cb41644a1 Merge pull request #2181 from automatisch/aut-1350-resetPassword
test(user): write test for resetPassword
2024-11-12 12:47:43 +01:00
Ali BARIN
8c01cea147 test(user): write test for resetPassword 2024-11-12 12:39:19 +01:00
Ömer Faruk Aydın
58eb55e90a Merge pull request #2180 from automatisch/aut-1350-generateInvitationToken
test(user): write test for generateInvitationToken
2024-11-12 12:37:31 +01:00
Ali BARIN
bb05e82e15 test(user): write test for generateInvitationToken 2024-11-12 12:18:28 +01:00
Ömer Faruk Aydın
5ab95ea175 Merge pull request #2179 from automatisch/aut-1350-generateResetPasswordToken
test(user): write test for generateResetPasswordToken
2024-11-12 12:16:42 +01:00
Ali BARIN
a25c4f1d1e test(user): write test for generateResetPasswordToken 2024-11-12 12:08:42 +01:00
Ömer Faruk Aydın
15287de8af Merge pull request #2178 from automatisch/aut-1350-login
test(user): write tests for login
2024-11-12 12:04:55 +01:00
Ali BARIN
49b4d6b511 test(user): write tests for login 2024-11-12 09:14:17 +00:00
Ömer Faruk Aydın
d5b4a5d4ac Merge pull request #2170 from automatisch/aut-1350-1
test(user): write tests for authorizedFlows
2024-11-11 18:16:03 +01:00
Ali BARIN
de480b491c test(user): write tests for authorizedExecutions 2024-11-11 18:06:59 +01:00
Ali BARIN
a949fda1fc test(user): write tests for authorizedConnections 2024-11-11 18:06:59 +01:00
Ali BARIN
3e28af670c test(user): write tests for authorizedSteps 2024-11-11 18:06:59 +01:00
Faruk AYDIN
b5310afb90 refactor: Use single quote for user can method error 2024-11-11 18:06:59 +01:00
Ali BARIN
da81ecf915 feat(user): add not authorized error message in permission check 2024-11-11 18:06:59 +01:00
Ali BARIN
f597066d16 test(user): write tests for authorizedFlows 2024-11-11 18:06:57 +01:00
Ömer Faruk Aydın
ec30606b24 Merge pull request #2177 from automatisch/aut-1350-authenticate
test(user): write tests for authenticate
2024-11-11 18:05:06 +01:00
Ali BARIN
20dce14f17 test(user): write tests for authenticate 2024-11-11 17:56:35 +01:00
Ömer Faruk Aydın
821742de85 Merge pull request #2176 from automatisch/aut-1350-acceptInvitationUrl
test(user): write test for acceptInvitationUrl
2024-11-11 17:55:23 +01:00
Ali BARIN
74dc108f62 test(user): write test for acceptInvitationUrl 2024-11-11 10:22:58 +00:00
Ali BARIN
a05fe856bb Merge pull request #2169 from automatisch/saml-auth-provider-test
test: Implement initial tests for SamlAuthProvider model
2024-11-08 13:04:09 +01:00
Ali BARIN
d13f51a32d Merge pull request #2168 from automatisch/aut-1350
test(user): write tests for tableName, jsonSchema, relationMappings
2024-11-08 13:01:02 +01:00
Faruk AYDIN
3dbe599cb3 test: Implement initial tests for SamlAuthProvider model 2024-11-08 12:55:37 +01:00
Ali BARIN
cf966dd83c test(user): write tests for tableName, jsonSchema, relationMappings 2024-11-08 11:52:50 +00:00
Ömer Faruk Aydın
4e62f3654f Merge pull request #2166 from automatisch/aut-1349-7
test(step): write test for updateFor method in model
2024-11-08 12:42:15 +01:00
Ali BARIN
970d926563 test(step): write test for updateFor method in model 2024-11-08 11:34:04 +00:00
Ali BARIN
ff49c747ba Merge pull request #2124 from automatisch/AUT-1232
fix: use correct default values when editing a role
2024-11-08 12:24:31 +01:00
kasia.oczkowska
c46b8a5f4f refactor: remove unnecessary prop types 2024-11-08 11:11:07 +00:00
kasia.oczkowska
485324e204 feat: improve syncing isCreator value 2024-11-08 10:01:49 +00:00
kasia.oczkowska
4696a03db1 feat: sync isCreator value when editing role settings 2024-11-08 10:01:49 +00:00
kasia.oczkowska
7885de36a9 fix: add isCreator role by default when creating new role 2024-11-08 10:01:49 +00:00
Ali BARIN
fac4339207 Merge pull request #2151 from automatisch/AUT-1167
feat: check if cancellationEffectiveDateObject is a valid date
2024-11-08 10:53:23 +01:00
Ali BARIN
9c70519021 Merge pull request #2152 from automatisch/AUT-1168
feat: introduce fallback for title value in the BillingCard
2024-11-08 10:53:02 +01:00
kasia.oczkowska
9ae77ecd5d fix: variable chip label disappearing 2024-11-08 08:20:33 +00:00
Ali BARIN
1c8e6f278d Merge pull request #2164 from automatisch/aut-1349-6
test(step): write tests for getSetupFields and delete
2024-11-06 14:08:26 +01:00
Ali BARIN
c0a190a9f2 test(step): write tests for getSetupFields and delete 2024-11-06 12:57:17 +00:00
Ali BARIN
e29e2a62f0 Merge pull request #2165 from automatisch/aut-1349-hooks
test(step): write tests for lifecycle hooks in model
2024-11-06 13:53:25 +01:00
Ali BARIN
1580640a35 test(step): write tests for lifecycle hooks in model 2024-11-06 12:45:18 +00:00
Ömer Faruk Aydın
33c84b7fcc Merge pull request #2163 from automatisch/aut-1349-5
test(step): write tests for getTriggerCommand and getActionCommand
2024-11-06 12:30:45 +01:00
Faruk AYDIN
9773ce75b0 fix: Typo for the step test description 2024-11-06 12:20:49 +01:00
Ali BARIN
c310e8d152 test(step): write tests for getTriggerCommand and getActionCommand 2024-11-06 08:45:24 +00:00
Ömer Faruk Aydın
af251c7b81 Merge pull request #2162 from automatisch/aut-1349-4
test(step): write tests for getApp, test, getLastExecutionStep and getNextStep
2024-11-05 13:19:48 +01:00
Faruk AYDIN
122483de0c refactor: Rename test method description for tests 2024-11-05 13:01:42 +01:00
Ali BARIN
42c2131144 test(step): write tests for getApp, test, getLastExecutionStep and getNextStep 2024-11-04 14:18:37 +00:00
Ömer Faruk Aydın
71bc7a62c2 Merge pull request #2161 from automatisch/aut-1349-3
test(step): write tests for isTrigger, isAction, getWebhookUrl
2024-11-04 15:11:00 +01:00
Ali BARIN
87bfff07db test(step): write tests for isTrigger, isAction, getWebhookUrl 2024-11-04 12:43:24 +00:00
Ömer Faruk Aydın
1cb5b780d2 Merge pull request #2160 from automatisch/aut-1349-2
test(step): write tests for webhookUrl and iconUrl
2024-11-04 13:28:25 +01:00
Ömer Faruk Aydın
2f6acd4d6e Merge pull request #2159 from automatisch/aut-1349
test(step): cover tableName, jsonSchema, virtualAttributes, relationMappings in model
2024-11-04 13:27:40 +01:00
Ömer Faruk Aydın
c2e2351505 Merge pull request #2158 from automatisch/aut-1338-isPaused
test(flow): write test cases for isPaused method
2024-11-04 13:26:40 +01:00
Ali BARIN
d847b5480b Merge pull request #2156 from automatisch/aut-1338-delete
refactor(flow): split delete method and write test
2024-11-01 15:41:52 +01:00
Ali BARIN
32749ee58e test(step): write tests for webhookUrl and iconUrl 2024-11-01 14:32:38 +00:00
Ali BARIN
a531b8b5fe test(step): cover tableName, jsonSchema, virtualAttributes, relationMappings in model 2024-11-01 15:29:35 +01:00
Ali BARIN
148a0c5bb0 test(flow): write test cases for isPaused method 2024-11-01 15:29:17 +01:00
Ali BARIN
39f9a58200 refactor(flow): split delete method and write test 2024-11-01 14:27:19 +00:00
Ömer Faruk Aydın
edd113d344 Merge pull request #2153 from automatisch/aut-1338-createActionStep
refactor(flow): distribute createActionStep logic to different methods in model
2024-11-01 15:03:58 +01:00
Faruk AYDIN
c641e8729b refactor: Rename createActionStepAfterStepId as createAfterStep for flow 2024-11-01 14:24:07 +01:00
Faruk AYDIN
2c4b13e4b5 refactor: Start updateStepPositionsFrom test from step position 2 2024-11-01 14:17:46 +01:00
Faruk AYDIN
48fcf4dda7 refactor: Rename alignStepsPositionsAsOfPosition as updateStepPositionsFrom for flow 2024-11-01 14:16:13 +01:00
Ömer Faruk Aydın
acfd980d4f Merge pull request #2150 from automatisch/aut-1338-after-find
refactor(flow): restructure afterFind hook in model
2024-10-31 16:12:08 +01:00
Ömer Faruk Aydın
db9bfab812 Merge pull request #2149 from automatisch/aut-1338-3
test(flow): write tests for model lifecycle hooks
2024-10-31 16:04:37 +01:00
Ali BARIN
d32820ee09 refactor(flow): distribute createActionStep logic to different methods in model 2024-10-31 10:19:26 +01:00
Ali BARIN
0f823fd19e refactor(flow): restructure afterFind hook in model 2024-10-31 10:19:09 +01:00
Ali BARIN
4308ed5850 test(flow): write tests for model lifecycle hooks 2024-10-31 10:18:56 +01:00
Ali BARIN
b9cd7c3983 Merge pull request #2148 from automatisch/aut-1338-2
test(flow): write model tests
2024-10-31 10:18:42 +01:00
Ömer Faruk Aydın
fa607aa961 Merge pull request #2154 from automatisch/update-saml-auth-providers-role-mapping-test-snapshot
chore(saml-auth-providers-role-mapping): remove unused test snapshot
2024-10-30 15:05:19 +01:00
Ali BARIN
6900b71841 test(flow): write model tests 2024-10-30 13:56:47 +00:00
Ömer Faruk Aydın
bb230d67e8 Merge pull request #2139 from automatisch/aut-1338
test(flow): write model tests
2024-10-30 14:55:21 +01:00
Faruk AYDIN
4f076ec3e3 refactor: Use static IncompleteStepsError from flow before update hook 2024-10-30 14:42:30 +01:00
Faruk AYDIN
96a6cbfb95 refactor: Add empty lines to improve readibility for flow tests 2024-10-30 14:39:06 +01:00
Faruk AYDIN
5bdc5aed72 refactor: Use static method for IncompleteStepsError 2024-10-30 14:39:06 +01:00
Faruk AYDIN
d38b0f088b test: Add multiple executions explicitly for last internal id test 2024-10-30 14:39:06 +01:00
Faruk AYDIN
892710f705 chore: Add empty lines for flow test to improve readability 2024-10-30 14:39:06 +01:00
Ali BARIN
fbf898be64 test(flow): write model tests 2024-10-30 14:39:06 +01:00
Ali BARIN
e3e2ecc1e1 chore(saml-auth-providers-role-mapping): remove unused test snapshot 2024-10-30 13:05:52 +00:00
kasia.oczkowska
b59807d221 feat: introduce fallback for title value in the BillingCard 2024-10-30 12:45:24 +00:00
kasia.oczkowska
163ad52285 feat: check if cancellationEffectiveDateObject is a valid date 2024-10-30 10:35:55 +00:00
Ömer Faruk Aydın
4023a6d1cc Merge pull request #2146 from automatisch/aut-1332-new-2
test(role): write remaining model tests
2024-10-29 17:45:45 +01:00
Ömer Faruk Aydın
ec827e5dc0 Merge pull request #2145 from automatisch/aut-1332-new
test(role): write model tests
2024-10-28 16:24:35 +01:00
Ali BARIN
a8f4fb7c22 test(role): write remaining model tests 2024-10-28 14:05:07 +00:00
Ali BARIN
bc195ed452 test(role): write model tests 2024-10-28 13:50:32 +00:00
Ali BARIN
41568904ab Merge pull request #2142 from automatisch/refactor-tests
refactor: Use toStrictEqual instead of toEqual for tests
2024-10-28 08:49:34 +01:00
kasia.oczkowska
79050af391 feat: introduce uniqueness validation for remote role name 2024-10-25 15:44:28 +01:00
Faruk AYDIN
2e5b44c424 refactor: Use toStrictEqual instead of toEqual for tests 2024-10-25 12:33:39 +02:00
Faruk AYDIN
7a437660d1 refactor: Remove id column from app config serializer 2024-10-25 11:47:41 +02:00
Ömer Faruk Aydın
47510e24d5 Merge pull request #2110 from automatisch/aut-1293
test(app-config): write model tests
2024-10-25 01:18:26 +02:00
Faruk AYDIN
91c9ef3068 fix: Pass app config parameters to be used for hooks 2024-10-25 01:07:44 +02:00
Faruk AYDIN
240854e4ac fix: Use uuid for down migration of app config id removal 2024-10-25 00:59:00 +02:00
Jakub P.
0e4fc7efbc fix: use key instead of id in appConfig 2024-10-24 19:42:54 +02:00
Faruk AYDIN
b47e859225 test: Add additional cases for triggerAppConfigUpdate method 2024-10-24 17:10:47 +02:00
Faruk AYDIN
62a1072682 fix: Use triggerAppConfigUpdate spy instead of 2024-10-24 17:07:23 +02:00
Faruk AYDIN
c6f2a97591 test: Add missing associations test for app auth client 2024-10-24 17:04:45 +02:00
Faruk AYDIN
d66be231b3 refactor: Remove redundant updateConnectionAllowedProperty 2024-10-24 17:00:47 +02:00
Faruk AYDIN
f73ffc8711 test: Add idColumn test to app config model 2024-10-24 16:59:17 +02:00
Faruk AYDIN
e4c17c1bc7 refactor: Use belongsTo relation for app config association 2024-10-24 16:59:17 +02:00
Faruk AYDIN
997e729535 refactor: Use hooks with refetched record for app config 2024-10-24 16:59:17 +02:00
Faruk AYDIN
e0e313b8d1 refactor: Remove id from app config factory 2024-10-24 16:59:17 +02:00
Faruk AYDIN
f0bd763e72 feat: Remove id field from app config model 2024-10-24 16:59:17 +02:00
Faruk AYDIN
6a7a90536b feat: Make key field primary key for app config model 2024-10-24 16:59:17 +02:00
Ali BARIN
ac8ddedfb5 test(connection): use new properties from app-config 2024-10-24 16:59:17 +02:00
Ali BARIN
6fcd126ff8 test(app-auth-client): cover lifecycle hooks and triggerAppConfigUpdate method 2024-10-24 16:59:17 +02:00
Faruk AYDIN
55d0966d48 fix: Pass app key while triggering app config update 2024-10-24 16:59:17 +02:00
Faruk AYDIN
2583e08f7a fix: Don't compute connectionAllowed column twice 2024-10-24 16:59:17 +02:00
Faruk AYDIN
de72e62470 fix: Pass app config key to fix associations 2024-10-24 16:59:17 +02:00
Faruk AYDIN
91993dbb07 refactor: AppConfig model and corresponding tests 2024-10-24 16:59:17 +02:00
Faruk AYDIN
d87ee4daa3 refactor: Move and adjust getApp tests for app config model 2024-10-24 16:59:17 +02:00
Ali BARIN
6791e002ff test(app-config): remove redundant virtual attributes test case 2024-10-24 16:59:17 +02:00
Ali BARIN
4ca84aa515 refactor(app-auth-client): remove redundant column selection 2024-10-24 16:59:17 +02:00
Ali BARIN
8189cbc171 fix(app-config): use correct case in connection_allowed 2024-10-24 16:59:17 +02:00
Ali BARIN
73edb45ff7 refactor(app-config): rename allowCustomConnection as customConnectionAllowed 2024-10-24 16:59:17 +02:00
Ali BARIN
0bbe362660 refactor(app-config): rename allow_custom_connection as custom_connection_allowed 2024-10-24 16:59:17 +02:00
Ali BARIN
a76bee51fc refactor(app-config): remove canCustomConnect virtual attribute 2024-10-24 16:59:17 +02:00
Ali BARIN
6e42b52414 refactor(app-config): rename canConnect as connectionAllowed 2024-10-24 16:59:17 +02:00
Ali BARIN
aed61209fa feat(app-config): update canConnect upon dependent changes 2024-10-24 16:59:17 +02:00
Ali BARIN
f5d796ea77 feat(app-config): persist relational virtual attrs 2024-10-24 16:59:17 +02:00
Ali BARIN
ecb04b4ba9 test(app-config): write model tests 2024-10-24 16:59:17 +02:00
Ali BARIN
dabb01e237 Merge pull request #2127 from automatisch/AUT-1231
feat: add error snackbar when creating or updating saml auth provider
2024-10-22 12:13:05 +02:00
Ali BARIN
c2d27d0fd4 Merge pull request #2136 from automatisch/aut-1322
test(connection): write remaining model tests
2024-10-21 17:41:31 +02:00
Ali BARIN
e62bd75fdf Merge pull request #2122 from automatisch/AUT-1239
feat: add error snackbar for updating role mappings
2024-10-21 16:44:24 +02:00
Ali BARIN
2e917bd62b Merge pull request #2120 from automatisch/AUT-1097
feat: allow both number and string values as sampleValue
2024-10-21 16:41:58 +02:00
Ali BARIN
e0492c4264 Merge pull request #2129 from automatisch/AUT-1253
feat: add error snackbar for errors originating from registerUser function
2024-10-21 16:41:31 +02:00
Ali BARIN
7db68e2f96 test(connection): write remaining model tests 2024-10-21 13:10:29 +00:00
Ömer Faruk Aydın
e9b05a37d1 Merge pull request #2135 from automatisch/aut-1322-2
test(connection): cover model lifecycle hooks
2024-10-21 12:49:49 +02:00
Ali BARIN
5613259536 test(connection): cover model lifecycle hooks 2024-10-21 12:41:57 +02:00
Ömer Faruk Aydın
3209ff16ac Merge pull request #2130 from automatisch/aut-1322
test(connection): write model tests
2024-10-21 12:41:04 +02:00
Faruk AYDIN
a49c8602d1 refactor: Remove redundant test cases for connection model 2024-10-21 12:32:46 +02:00
Ali BARIN
7caa055e00 test(connection): write model tests 2024-10-21 10:27:43 +02:00
Ömer Faruk Aydın
0d62bc6c78 Merge pull request #2134 from automatisch/permission-tests
Permission tests
2024-10-18 17:33:57 +02:00
Faruk AYDIN
bc0861fd9e test: Implement tests for permission model 2024-10-18 15:34:06 +02:00
Faruk AYDIN
f280052d93 refactor: Permission model sanitize method 2024-10-18 15:33:47 +02:00
kasia.oczkowska
21da49f79d feat: add error snackbar for errors originating from registerUser function 2024-10-18 13:41:57 +01:00
kasia.oczkowska
19a5ccf942 feat: add error snackbar when creating or updating saml auth provider 2024-10-16 14:31:05 +01:00
Ali BARIN
0234b4ad81 Merge pull request #2125 from automatisch/aut-1322
test(connection): write model tests
2024-10-16 13:23:17 +02:00
Ömer Faruk Aydın
59ee9c21f3 Merge pull request #2111 from automatisch/aut-1301
test(app): write model tests
2024-10-16 13:17:35 +02:00
Faruk AYDIN
00317fed24 refactor: Use endsWith for app folder path test 2024-10-16 12:56:17 +02:00
Ali BARIN
42f6311ca8 test(app): write model tests 2024-10-16 12:56:17 +02:00
Ali BARIN
0f77a1ec03 test(connection): write model tests 2024-10-16 09:38:48 +00:00
Ali BARIN
8268cd4d09 Merge pull request #2123 from automatisch/aut-1319
test(config): write model tests
2024-10-14 13:28:09 +02:00
Ali BARIN
c868070337 test(config): write model tests 2024-10-14 11:19:29 +00:00
kasia.oczkowska
2981fa5946 feat: add error snackbar for updating role mappings 2024-10-10 13:34:40 +01:00
Ömer Faruk Aydın
623ec66a79 Merge pull request #2121 from automatisch/usage-data-tests
test: Implement UsageData model tests
2024-10-10 13:03:09 +02:00
Faruk AYDIN
b51bae14ec test: Implement UsageData model tests 2024-10-10 12:08:41 +02:00
kasia.oczkowska
05a3016557 feat: allow both number and string values as sampleValue 2024-10-10 09:21:03 +01:00
Ömer Faruk Aydın
9250456e7b Merge pull request #2119 from automatisch/execution-step-test
tests: Implement tests for ExecutionStep model
2024-10-09 16:27:39 +02:00
Faruk AYDIN
163d6a7a28 refactor: Do not use persisted instance for execution step is failed 2024-10-09 15:43:33 +02:00
Faruk AYDIN
4ce9976dbc refactor: Use isSucceededNonTestRun naming for execution steps 2024-10-09 15:43:33 +02:00
Faruk AYDIN
f6490990de tests: Implement tests for ExecutionStep model 2024-10-09 15:43:33 +02:00
Ali BARIN
f24ff606ac Merge pull request #2113 from automatisch/AUT-1196
fix: use env var for authDocUrl
2024-10-09 15:15:09 +02:00
Jakub P.
3ff53744b5 fix: use env var for authDocUrl 2024-10-09 15:02:59 +02:00
Ali BARIN
0b33c10ed8 Merge pull request #2029 from automatisch/AUT-1190
fix: limit resetting form on defaultValues change
2024-10-09 14:54:05 +02:00
Ömer Faruk Aydın
3fa87701ed Merge pull request #2114 from automatisch/AUT-929
feat: fix primary app color value and how it is displayed in the app
2024-10-09 11:02:03 +02:00
Ali BARIN
e5e0c6fa2a Merge pull request #2117 from automatisch/aut-1191-2
fix: bring back missing custom logo
2024-10-08 21:54:12 +02:00
Jakub P.
0b38a0b6af fix: bring back missing custom logo 2024-10-08 17:56:13 +00:00
Ömer Faruk Aydın
44b228777a Merge pull request #2093 from automatisch/aut-1191
feat(config): make data structure horizontal
2024-10-08 18:15:33 +02:00
Ali BARIN
dd4f658d14 test: cover static config in config controller test 2024-10-08 14:41:02 +00:00
Ali BARIN
9c66f47bca test: write config serializer cases 2024-10-08 14:34:14 +00:00
Ali BARIN
138a34d6a4 feat(config): incorporate static config as virtual attributes 2024-10-08 14:19:17 +00:00
Ali BARIN
8f2af2e863 chore: rename horizontal config migration as make_config_single_record 2024-10-08 14:18:38 +00:00
Ali BARIN
c732fe16b3 refactor(update-config): introduce updateFirstOrInsert via query builder 2024-10-08 13:18:42 +00:00
Ali BARIN
9be75e56e7 refactor(migration): simplify make_config_horizontal_scale script 2024-10-08 13:18:42 +00:00
Ali BARIN
e7d1f26034 feat(serializers): add config serializer 2024-10-08 13:18:42 +00:00
Ali BARIN
c554fff048 feat(config): add missing schema properties 2024-10-08 13:18:42 +00:00
Ali BARIN
0268521aaa test(config): fix typo in palette primary light 2024-10-08 13:18:42 +00:00
Ali BARIN
89b1cb9353 feat(web): adapt to horizontal config structure 2024-10-08 13:18:42 +00:00
Ali BARIN
8a17c5eaab feat(config): make data structure horizontal 2024-10-08 13:18:42 +00:00
Ömer Faruk Aydın
f4a1ad6c8c Merge pull request #2109 from automatisch/aut-1292
test(app-auth-client): write model tests
2024-10-08 15:09:41 +02:00
Jakub P.
93d76d8d79 feat: add hash in color to the examples in docs 2024-10-07 16:39:51 +02:00
Ali BARIN
0b956a71b9 test(models/app-auth-client): improve decrypt data test cases 2024-10-07 13:25:04 +00:00
Faruk AYDIN
26be72f76d test: Improve encrypt data tests for AppAuthClient model 2024-10-07 14:21:14 +02:00
Ali BARIN
737391c721 test(app-auth-client): write model tests 2024-10-07 09:14:18 +00:00
kasia.oczkowska
9c1d21fd1b feat: fix primary app color value and how it is displayed in the app 2024-10-04 12:34:50 +01:00
kasia.oczkowska
ef4a4c8611 fix: limit resetting form on defaultValues change 2024-10-04 11:46:12 +01:00
Ömer Faruk Aydın
13c0a8ceaa Merge pull request #2112 from automatisch/test-subscription
test: Implement subscription model tests
2024-10-02 13:53:46 +03:00
Faruk AYDIN
c2976080f6 test: Implement subscription model tests 2024-10-02 13:44:21 +03:00
Faruk AYDIN
0a1b6931af test: Add tests for Identity model 2024-10-02 10:52:05 +03:00
Ömer Faruk Aydın
5009319f91 Merge pull request #2108 from automatisch/aut-1282
test(access-token): write model tests
2024-10-02 10:16:49 +03:00
Ali BARIN
4db8683bd6 test(access-token): write model tests 2024-10-01 10:37:43 +00:00
Ali BARIN
d35cf8d31e test: add access token factory 2024-10-01 09:55:36 +00:00
Ali BARIN
5fef16131a test: add identity factory 2024-10-01 09:55:26 +00:00
Ömer Faruk Aydın
8b2235ee26 Merge pull request #2107 from automatisch/execution-tests
test: Implement execution model tests
2024-09-30 17:33:28 +03:00
Faruk AYDIN
2d8faf849e test: Implement execution model tests 2024-09-30 17:25:15 +03:00
Ali BARIN
c9de9fa185 Merge pull request #2096 from automatisch/aut-1276
test(SamlAuthProvidersRoleMapping): assert model properties
2024-09-30 16:24:46 +02:00
Ali BARIN
0618877d58 test(models/saml-auth-providers-role-mapping): assert model properties 2024-09-30 14:14:02 +00:00
Ömer Faruk Aydın
f6b4e7eef8 Merge pull request #2095 from automatisch/datastore-tests
feat: Implement datastore model tests
2024-09-30 17:12:11 +03:00
Faruk AYDIN
7abe44da19 refactor: Use matchsnapshot for datastore tests 2024-09-30 16:43:06 +03:00
Faruk AYDIN
9006a0c25f refactor: Update required validations with custom assertion 2024-09-30 16:39:06 +03:00
Faruk AYDIN
f8389ff8ab feat: Implement datastore model tests 2024-09-30 16:39:06 +03:00
Ömer Faruk Aydın
894afe8f92 Merge pull request #2104 from automatisch/remove-gql
refactor: remove whole graphql implementation
2024-09-30 15:14:14 +03:00
Ali BARIN
115394ac8c test(helpers/authentication): bring back applicable tests 2024-09-30 12:04:58 +00:00
Ali BARIN
de42eda65f refactor(helpers/authentication): remove obsolete arguments in isAuthenticated 2024-09-30 12:04:37 +00:00
Ali BARIN
0b7591edce refactor: remove whole graphql implementation 2024-09-30 12:02:25 +00:00
Ömer Faruk Aydın
a043a044ca Merge pull request #2099 from automatisch/aut-1262
feat: use REST API endpoints to create and reconnect connections
2024-09-30 13:33:52 +03:00
Ali BARIN
b1f2727beb test(create-dynamic-data): use 422 for error response 2024-09-30 08:25:56 +00:00
Ali BARIN
d6e78a48a0 feat(AddAppConnection): show meaningful error messages only 2024-09-30 08:25:56 +00:00
Ali BARIN
589fe0f5f3 feat(useAuthenticateApp): remove redundant graphql implementation 2024-09-30 08:25:56 +00:00
Ali BARIN
244eeeb816 feat(useAuthenticateApp): centralize invalidating queries 2024-09-30 08:25:56 +00:00
kasia.oczkowska
4d5fc50f1a feat: refactor verify connection mutation with the REST API endpoint 2024-09-30 08:25:54 +00:00
Ali BARIN
dc0273148c chore: remove redundant reset connection mutation 2024-09-30 08:25:09 +00:00
Ali BARIN
5e6f4bfb88 feat(useAuthenticateApp): use REST API endpoint to reset connection 2024-09-30 08:24:03 +00:00
Ali BARIN
bc0e18d074 chore: remove redundant update connection mutation 2024-09-30 08:24:02 +00:00
Ali BARIN
24d09fda4c feat(useAuthenticateApp): use REST API endpoint to update connection 2024-09-30 08:23:29 +00:00
Ali BARIN
5e20ac07d1 chore(add-authentication-steps): remove unnecessary id arguments 2024-09-30 08:23:29 +00:00
Ali BARIN
37c78e6bbd chore: remove redundant generate auth url mutation 2024-09-30 08:23:26 +00:00
Ali BARIN
7dcfb1081b feat(useAuthenticateApp): use REST API endpoint to create auth url 2024-09-30 08:23:00 +00:00
Ali BARIN
01407cf040 Merge pull request #2106 from automatisch/AUT-1265
feat: refactor update-current-user mutation with the REST API endpoint
2024-09-30 10:11:22 +02:00
Jakub P.
eb814c2fb0 test: add reset password tests 2024-09-27 23:16:16 +02:00
kasia.oczkowska
d3caadf4af feat: refactor update-current-user mutation with the REST API endpoint 2024-09-27 13:42:58 +01:00
Ali BARIN
5769c82fca Merge pull request #2098 from automatisch/aut-1258
feat(useAuthenticateApp): use REST API endpoint to create connection
2024-09-25 10:03:57 +02:00
Ali BARIN
3754783ce2 Merge pull request #2103 from automatisch/AUT-1279
test: add change own user data test
2024-09-24 21:25:41 +02:00
Jakub P.
55ebe2cc0b test: add change own user data test 2024-09-24 18:42:30 +02:00
Ali BARIN
23c1a42163 chore: remove redundant create connection mutation 2024-09-24 08:31:26 +00:00
Ali BARIN
c879ffa768 feat(useAuthenticateApp): use REST API endpoint to create connection 2024-09-24 08:30:53 +00:00
Ali BARIN
32f7bbfbab chore: remove redundant execute flow mutation 2024-09-24 10:23:33 +02:00
Ali BARIN
84d5b3b158 feat: use REST API endpoint to test step 2024-09-24 10:23:33 +02:00
Ömer Faruk Aydın
c8dae9ea9a Merge pull request #2097 from automatisch/to-require-property
feat: Introduce toRequireProperty custom assertion
2024-09-23 16:24:01 +03:00
Faruk AYDIN
cbfb5dd8a6 feat: Introduce toRequireProperty custom assertion 2024-09-23 16:16:13 +03:00
Jakub P.
09b2b7350c test: add applications settings tests 2024-09-20 13:03:22 +02:00
Ömer Faruk Aydın
e146793d32 Merge pull request #2091 from automatisch/aut-1216
feat: use REST API endpoint to update user
2024-09-20 13:32:38 +03:00
Faruk AYDIN
0bad2ead10 chore: Fix typo for useAdminUpdateUser hook 2024-09-20 13:11:46 +03:00
Jakub P
25176884e7 fix: add missing snackbar on user update error 2024-09-20 13:11:43 +03:00
Ali BARIN
266d4cddb0 chore: remove redundant update user mutation 2024-09-20 13:10:42 +03:00
Ali BARIN
6e529a4205 feat: use REST API endpoint to update user 2024-09-20 13:09:46 +03:00
Ömer Faruk Aydın
d2cce278bd Merge pull request #2089 from automatisch/aut-1266
feat: use REST API endpoint to update flow status
2024-09-19 14:10:44 +03:00
Jakub P.
b774a62f8c fix: add missing snackbars on flow status update 2024-09-19 14:03:45 +03:00
Ali BARIN
66c12e1a92 chore: remove redundant update flow status mutation 2024-09-19 14:03:43 +03:00
Ali BARIN
184d748890 feat: use REST API endpoint to update flow status 2024-09-19 14:02:51 +03:00
Ömer Faruk Aydın
8cc732c8d1 Merge pull request #2085 from automatisch/aut-1259
feat: use REST API endpoint to create user
2024-09-19 13:58:13 +03:00
Faruk AYDIN
c688d67e4b feat: Implement admin user serializer test 2024-09-19 13:51:04 +03:00
Jakub P.
3408be2840 test: search for proper snackbar on user create error 2024-09-19 13:50:11 +03:00
Ali BARIN
e126066132 chore: remove redundant create user mutation 2024-09-19 13:50:09 +03:00
Ali BARIN
cfec447d8a feat(web): use REST API endpoint to create user 2024-09-19 13:49:12 +03:00
Ali BARIN
805d1fdd52 fix(useAdminCreateRole): correct query in invalidation 2024-09-19 13:49:12 +03:00
Ali BARIN
9299948072 feat: add admin user serializer with accept invitation url 2024-09-19 13:49:12 +03:00
Ömer Faruk Aydın
b02960a5ec Merge pull request #2083 from automatisch/aut-1257
feat: write and implement REST API endpoint to update step
2024-09-19 13:40:57 +03:00
Ali BARIN
8134b6db6a refactor(update-step): move connection authorization to model 2024-09-19 13:31:33 +03:00
Ali BARIN
cd16a3cc15 chore: remove redundant update step mutation 2024-09-19 13:31:31 +03:00
Ali BARIN
074e7828f3 feat(web): use REST API endpoint to update step 2024-09-19 13:30:45 +03:00
Ali BARIN
5f7d1f9219 feat: write REST API endpoint to update step 2024-09-19 13:30:45 +03:00
Ömer Faruk Aydın
b29c6105a1 Merge pull request #2088 from automatisch/aut-1213
feat: use REST API endpoint to delete step
2024-09-19 13:15:26 +03:00
Ali BARIN
1297f5d43c chore: remove redundant delete step mutation 2024-09-19 13:08:19 +03:00
Ali BARIN
f94a5385d7 feat: use REST API endpoint to delete step 2024-09-19 13:07:37 +03:00
Ömer Faruk Aydın
8ef2000e45 Merge pull request #2087 from automatisch/aut-1261
feat: use REST API endpoint to delete flow
2024-09-19 13:06:48 +03:00
Ali BARIN
30d496076b chore: remove redundant delete flow mutation 2024-09-19 12:37:47 +03:00
Ali BARIN
5de06d4482 feat: use REST API endpoint to delete flow 2024-09-19 12:36:59 +03:00
Ömer Faruk Aydın
97fa983305 Merge pull request #2086 from automatisch/aut-1260
feat: use REST API endpoint to delete current user
2024-09-19 12:34:35 +03:00
Ali BARIN
dccc3c5bc1 chore: remove redundant delete current user mutation 2024-09-19 12:27:28 +03:00
Ali BARIN
ed12465975 feat: use REST API endpoint to delete current user 2024-09-19 12:25:58 +03:00
Ömer Faruk Aydın
b78be222d7 Merge pull request #2084 from automatisch/aut-1228
feat: use REST API endpoint to create flow
2024-09-19 12:22:33 +03:00
Ali BARIN
342990e1bf chore: remove redundant create flow mutation 2024-09-18 14:53:06 +00:00
Ali BARIN
2e5dfdbb0d feat: use REST API endpoint to create flow 2024-09-18 14:51:23 +00:00
Faruk AYDIN
1790ef0ee6 feat: Implement update flow status rest API endpoint 2024-09-17 16:07:12 +03:00
Ömer Faruk Aydın
712a5756e2 Merge pull request #2070 from automatisch/aut-1248
feat: write and implement REST API endpoint to duplicate flow
2024-09-17 14:11:27 +03:00
Faruk AYDIN
bf6ff6b0f7 refactor: Revise duplicate flow controller tests 2024-09-17 13:18:48 +03:00
Faruk AYDIN
c6003b6695 fix: Correct duplicate flow mock name 2024-09-17 13:05:23 +03:00
Ali BARIN
8352540fcb chore: remove redundant duplicate flow mutation 2024-09-17 12:50:54 +03:00
Ali BARIN
22299868fa feat: use REST API endpoint to duplicate flow 2024-09-17 12:49:16 +03:00
Ali BARIN
0d126a8e2b feat: write REST API endpoint to duplicate flow 2024-09-17 12:49:13 +03:00
Ömer Faruk Aydın
776d027dfa Merge pull request #2081 from automatisch/rest-create-user
feat: Implement rest API endpoint for admins to create user
2024-09-17 12:45:08 +03:00
Faruk AYDIN
fa9b6d1006 chore: Mark create user mutation as converted mutation 2024-09-17 11:42:29 +03:00
Faruk AYDIN
89aa7ffc73 feat: Implement rest API endpoint for admins to create user 2024-09-17 11:41:18 +03:00
Faruk AYDIN
fd971449ca chore: Mark update connection as converted mutation 2024-09-16 13:39:44 +03:00
Ömer Faruk Aydın
f7cd57e549 Merge pull request #2080 from automatisch/rest-update-connection
feat: Implement rest API endpoint to update connection
2024-09-16 13:38:43 +03:00
Faruk AYDIN
34aadbfb09 feat: Implement rest API endpoint to update connection 2024-09-16 12:55:39 +03:00
Ömer Faruk Aydın
167195a01c Merge pull request #2077 from automatisch/rest-reset-connection
refactor: Move reset logic to connection model
2024-09-15 14:01:56 +03:00
Faruk AYDIN
b0abf94191 refactor: Move reset logic to connection model 2024-09-15 01:03:17 +03:00
Faruk AYDIN
1009c71e72 chore: Move reset connection to converted mutations 2024-09-15 01:02:58 +03:00
Ömer Faruk Aydın
29b1695159 Merge pull request #2076 from automatisch/rest-delete-flow
feat: Implement rest API endpoint to delete flow
2024-09-15 00:19:45 +03:00
Faruk AYDIN
44f782221f chore: Mark delete flow as converted mutation 2024-09-15 00:11:15 +03:00
Faruk AYDIN
bab25c51d9 feat: Implement rest API endpoint to delete flow 2024-09-14 21:54:10 +03:00
Ömer Faruk Aydın
89277e1665 Merge pull request #2075 from automatisch/converted-mutations
chore: Mark create connection as converted mutation
2024-09-14 00:46:07 +03:00
Faruk AYDIN
1e9c5a1682 chore: Mark create connection as converted mutation 2024-09-14 00:27:09 +03:00
Ömer Faruk Aydın
0c75486c7a Merge pull request #2073 from automatisch/aut-1251
feat: write REST API endpoint to generate auth url
2024-09-12 14:05:39 +03:00
Faruk AYDIN
8c39739880 refactor: Use getApp method for generateAuthUrl method of connection 2024-09-12 13:58:23 +03:00
Ali BARIN
ace1f84094 feat: write REST API endpoint to generate auth url 2024-09-12 13:57:25 +03:00
Ömer Faruk Aydın
2cfd6739ca Merge pull request #2068 from automatisch/aut-1242
feat: write REST API endpoint to create connection
2024-09-12 13:51:37 +03:00
Faruk AYDIN
e0d6f0d653 refactor: Fetch role and permissions for current user in create connection tests 2024-09-12 13:41:16 +03:00
Faruk AYDIN
a4d3b387d0 refactor: Add extra empty line for create connection test block 2024-09-12 13:35:00 +03:00
Ali BARIN
7394aca02d feat: write REST API endpoint to create connection 2024-09-12 13:33:38 +03:00
Ömer Faruk Aydın
e812725182 Merge pull request #2072 from automatisch/aut-1249
feat: write and implement REST API endpoint to register user
2024-09-12 13:26:12 +03:00
Faruk AYDIN
bb76bfcd8b fix: Typo for register user tests 2024-09-12 13:19:01 +03:00
Ali BARIN
6ff6d0a7dc fix(register-user): correct trial expiry date 2024-09-12 13:19:01 +03:00
Ali BARIN
ddc9867058 chore: remove redundant register user mutation 2024-09-12 13:19:01 +03:00
Ali BARIN
ba0d46c6cd feat(web): use REST API endpoint to register user 2024-09-12 13:19:01 +03:00
Ali BARIN
369f04fdbc feat: write REST API endpoint to register user 2024-09-12 13:19:01 +03:00
Ömer Faruk Aydın
09dd8abe23 Merge pull request #2069 from automatisch/rest-update-password
feat: Implement rest API endpoint to update current user password
2024-09-12 13:10:22 +03:00
Faruk AYDIN
8c692758ae chore: Remove redundant only flag for tests 2024-09-12 13:01:49 +03:00
Faruk AYDIN
32d39b88bd feat: Ask for current password while updating user password 2024-09-12 12:54:46 +03:00
Faruk AYDIN
8bd66da511 chore: Move update current user mutation to converted ones 2024-09-11 12:51:32 +03:00
Faruk AYDIN
f86799e494 feat: Implement rest API endpoint to update current user password 2024-09-11 12:51:32 +03:00
Jakub P.
8d10f26f56 test: add pop-up notification test 2024-09-10 17:40:34 +02:00
Ali BARIN
297543f9dd feat(useAuthenticateApp): early exit connection creation at blocked pop-up 2024-09-10 17:40:34 +02:00
Ali BARIN
0c53ee8460 feat(AddAppConnection): show pop-up reminder hint 2024-09-10 17:40:34 +02:00
Ömer Faruk Aydın
862842e3e1 Merge pull request #2064 from automatisch/aut-1237
feat: write and implement REST API endpoint to delete role
2024-09-10 17:19:55 +03:00
Ali BARIN
a4fad360df Merge pull request #2066 from automatisch/aut-1240
feat: write and implement REST API endpoint to create step
2024-09-10 14:31:12 +02:00
Ali BARIN
3ba4c8b3bf chore(EditorNew): remove console log 2024-09-10 10:50:11 +00:00
Ali BARIN
2992236be4 test(create-step): make current and another user explicit 2024-09-10 10:35:19 +00:00
Ali BARIN
82161f028e test(create-step): state permission conditions explicitly 2024-09-10 10:21:42 +00:00
Ali BARIN
1bcaec144b test(create-step): use non-admin user 2024-09-10 10:15:59 +00:00
Ali BARIN
852d4bba0a chore: remove redundant create step mutation 2024-09-10 10:12:59 +00:00
Ali BARIN
af56fa2830 feat(Editor): use REST API endpoint to create step 2024-09-10 10:12:59 +00:00
Ali BARIN
813646e392 feat: write REST API endpoint to create step 2024-09-10 10:12:59 +00:00
Ali BARIN
1ce31eefc6 Merge pull request #2057 from automatisch/aut-1226
feat: write endpoint to update SamlAuthProvidersRoleMappings
2024-09-10 12:09:00 +02:00
Ali BARIN
fdf53844e1 test(update-role-mappings): use name over key 2024-09-10 10:00:40 +00:00
Ali BARIN
be57a82302 test(factories/role): re-create different role if it exists 2024-09-10 09:56:15 +00:00
Ali BARIN
fb82e863e0 test(update-role-mappings): correct the test case name 2024-09-10 09:50:54 +00:00
Ali BARIN
101483409f style(update-role-mappings): add a breakline 2024-09-10 09:50:54 +00:00
Ali BARIN
6fe863eec1 test(update-role-mappings): use explicit remote role name 2024-09-10 09:50:54 +00:00
Ali BARIN
fbb6526aac refactor(update-role-mappings): move logic to model 2024-09-10 09:50:54 +00:00
Ali BARIN
5556aea913 chore: remove upsert-saml-auth-providers-role-mappings mutation 2024-09-10 09:50:54 +00:00
Ali BARIN
95dc5fb849 refactor(RoleMappings): rewrite mutations with REST API endpoints 2024-09-10 09:50:53 +00:00
Ali BARIN
062199d0e3 feat: write endpoints to update SamlAuthProvidersRoleMappings 2024-09-10 09:50:53 +00:00
Ali BARIN
53ce327516 Merge pull request #2060 from automatisch/aut-1233
feat: write and implement REST API endpoint to update role
2024-09-10 11:35:52 +02:00
Ali BARIN
61a1ce57c2 refactor(useAdminDeleteRole): remove redundant invalidateQueries 2024-09-06 09:52:03 +00:00
Jakub P.
687295f772 test: update roles related snackbar locator 2024-09-06 09:51:22 +00:00
Ali BARIN
e5366534ed chore: remove redundant delete role mutation 2024-09-06 09:51:22 +00:00
Ali BARIN
66fe84e126 feat(DeleteRoleButton): use REST API endpoint to delete role 2024-09-06 09:51:22 +00:00
Ali BARIN
0b6c28422c feat: write REST API endpoint to delete role 2024-09-06 09:51:22 +00:00
Ali BARIN
ea667bb6a9 refactor(useAdminUpdateRole): remove redundant invalidateQueries 2024-09-06 09:26:34 +00:00
Ali BARIN
c9ba219de1 chore: remove redundant update role mutation 2024-09-05 15:35:44 +00:00
Ali BARIN
9df1b29d70 feat(EditRole): use REST API endpoint to update role 2024-09-05 15:35:44 +00:00
Ali BARIN
3e34359fa9 feat: write REST API endpoint to update role 2024-09-05 15:35:44 +00:00
Ali BARIN
1818930d2f Merge pull request #2059 from automatisch/aut-1229
feat: write and implement REST API endpoint to create role
2024-09-05 17:35:19 +02:00
Ali BARIN
c03e674001 chore: add isAdmin virtual attribute in role model 2024-09-05 12:15:37 +00:00
Ali BARIN
10a25b82e0 chore(migrations/remove_key_column_in_roles): use arrow functions 2024-09-05 12:13:33 +00:00
Ömer Faruk Aydın
3b2489d738 Merge pull request #2062 from automatisch/fix-trigger-type-problem
fix: Throw error if trigger doesn't have a type
2024-09-05 13:51:37 +03:00
Faruk AYDIN
5c4ca3c84f fix: Add missing pollInverval keys for triggers 2024-09-05 13:40:44 +03:00
Faruk AYDIN
06c4b7ed2e fix: Throw error if trigger doesn't have a type 2024-09-05 13:32:19 +03:00
Ali BARIN
5591f6ccc9 fix(migrations): backfill role.key column in down migration 2024-09-04 11:30:39 +00:00
Ali BARIN
63dfb6947e feat: make role name unique and remove key usage 2024-09-04 11:13:39 +00:00
Ali BARIN
b089069b8e test: use faker in role factory 2024-09-03 14:18:14 +00:00
Ali BARIN
e76a99fd68 chore: remove redundant create role mutation 2024-09-03 13:56:23 +00:00
Ali BARIN
a4ea6c1fad refactor(CreateRole): implement REST API endpoint to create role 2024-09-03 13:56:06 +00:00
Ali BARIN
64ebdce1b2 feat: write migration to make roles unique by key 2024-09-03 13:55:28 +00:00
Ali BARIN
2709491d59 feat: write REST API endpoint to create role 2024-09-03 13:55:18 +00:00
Ömer Faruk Aydın
81beedede6 Merge pull request #2058 from automatisch/rest-delete-current-user
feat: Implement rest API endpoint to remove current user
2024-09-03 16:13:37 +03:00
Faruk AYDIN
33a2386d74 feat: Remove associated access tokens while removing user 2024-09-03 16:03:48 +03:00
Faruk AYDIN
0df5e5283e refactor: Remove user associations before removing user 2024-09-03 16:00:24 +03:00
Faruk AYDIN
560407b972 chore: Comment delete current user mutations as converted 2024-09-03 15:51:55 +03:00
Faruk AYDIN
f8c25ae508 feat: Implement rest API endpoint to remove current user 2024-09-03 15:50:44 +03:00
Ali BARIN
c524277665 Merge pull request #2054 from automatisch/aut-1224
Split UpsertSamlAuthProvider mutation into two endpoints
2024-09-03 11:42:05 +02:00
Ömer Faruk Aydın
a70fb009c7 Merge pull request #2055 from automatisch/rest-test-step
feat: Implement rest api endpoint to test step
2024-09-02 15:22:10 +03:00
Ömer Faruk Aydın
11e67f2ea3 Merge pull request #2056 from automatisch/rest-create-flow
feat: Implement create flow rest API endpoint
2024-09-02 15:21:46 +03:00
Faruk AYDIN
e7118ffe15 chore: Comment create flow mutation as converted 2024-09-02 15:03:59 +03:00
Faruk AYDIN
79e9455244 feat: Implement create flow rest API endpoint 2024-09-02 15:01:20 +03:00
Faruk AYDIN
6ca8e8958a feat: Implement rest api endpoint to test step 2024-09-02 14:00:31 +03:00
Faruk AYDIN
d3dc207166 feat: Extend step serializer with last execution step 2024-09-02 14:00:31 +03:00
Faruk AYDIN
51e200533b feat: Introduce lastExecutionStep relation to Step model 2024-09-02 14:00:31 +03:00
Ali BARIN
b8a25b87d8 Merge pull request #2053 from automatisch/webhook-tests-improvements
test: add wait for response on update flow
2024-09-02 10:04:47 +02:00
Ali BARIN
f4fe0a0d4f refactor(SamlConfiguration): rewrite mutations with REST API endpoints 2024-08-30 11:46:35 +00:00
Ali BARIN
1d4f829d29 chore: remove upsert-saml-auth-provider mutation 2024-08-30 11:46:06 +00:00
Ali BARIN
4afa79fca4 feat: write endpoitns to create and update SamlAuthProvider 2024-08-30 10:56:56 +00:00
Jakub P.
ec22184087 test: add wait for substeps response 2024-08-30 12:53:35 +02:00
Ali BARIN
413f3db5b4 test(update-flow): align user role permissions 2024-08-30 11:07:52 +02:00
Ali BARIN
8ddfcce787 chore: remove update-flow mutation 2024-08-30 11:07:52 +02:00
Ali BARIN
562341adfe refactor(web): rewrite mutation with PATCH /v1/flows/:flowId 2024-08-30 11:07:52 +02:00
Ali BARIN
9519ec53ef feat: write PATCH /v1/flows/:flowId 2024-08-30 11:07:52 +02:00
Ali BARIN
35bada360d refactor(update-config): move logic to config model 2024-08-30 11:07:44 +02:00
Ali BARIN
1f39765efe chore: remove update-config mutation 2024-08-30 11:07:44 +02:00
Ali BARIN
cce5b3b533 refactor(web): rewrite mutation with PATCH /v1/admin/config 2024-08-30 11:07:44 +02:00
Ali BARIN
e77a03b855 feat: write PATCH /v1/admin/config 2024-08-30 11:07:44 +02:00
Ali BARIN
7a54ff212e feat: incorporate NotAuthorized error in error handler 2024-08-30 10:23:28 +02:00
Ali BARIN
01340f4597 chore: remove redundant update-app-config mutation 2024-08-29 15:31:50 +02:00
Ali BARIN
af6fa80d20 test(reset-connection): cover formattedData with DB changes 2024-08-29 11:20:09 +02:00
Ali BARIN
e7474dcb9e refactor(reset-connection): streamline patches 2024-08-29 11:20:09 +02:00
Ali BARIN
0eb906d5df test(reset-connection): remove unnecessary read connection permission 2024-08-29 11:20:09 +02:00
Ali BARIN
c7babf227c feat: write POST /v1/connections/:connectionId/reset 2024-08-29 11:20:09 +02:00
Ali BARIN
d5c81c14f5 fix(FlowAppIcons): fix crash when no steps exist 2024-08-29 10:44:50 +02:00
Ali BARIN
59278378e5 chore: remove delete-connection mutation 2024-08-29 09:26:24 +02:00
Ali BARIN
990e69143d refactor(web): rewrite mutation with DELETE /v1/connections/:connectionId 2024-08-29 09:26:24 +02:00
Ali BARIN
c413ae06dc feat: write DELETE /v1/connections/:connectionId 2024-08-29 09:26:24 +02:00
Ali BARIN
456f8a30cc test(update-app-config): correct test case name 2024-08-29 09:26:16 +02:00
Ali BARIN
19c4561feb chore: remove update-app-config mutation 2024-08-29 09:26:16 +02:00
Ali BARIN
1392fed023 refactor(web): rewrite mutation with PATCH /v1/admin/apps/:appKey/config 2024-08-29 09:26:16 +02:00
Ali BARIN
ca81e14d63 feat: write PATCH /v1/admin/apps/:appKey/config 2024-08-29 09:26:16 +02:00
Ömer Faruk Aydın
8e7a8a02ec Merge pull request #2045 from automatisch/rest-admin-update-user
feat: Implement rest API endpoint to update users for admin
2024-08-28 18:07:24 +03:00
Faruk AYDIN
e45dfa94ed fix: Use updateUserMock instead of updateCurrentUserMock for admin API endpoint 2024-08-28 17:55:06 +03:00
Faruk AYDIN
a153787ae6 chore: Use patch instead of get for update user tests 2024-08-28 17:54:15 +03:00
Faruk AYDIN
cf37c43bc7 chore: Add update user mutation to converted mutations 2024-08-28 17:50:06 +03:00
Faruk AYDIN
d0aa2bca69 feat: Implement rest API endpoint to update users for admin 2024-08-28 17:49:38 +03:00
Ömer Faruk Aydın
7b3811e6ee Merge pull request #2044 from automatisch/rest-update-user
feat: Implement update user rest API endpoint
2024-08-28 17:21:54 +03:00
Faruk AYDIN
4054f551d4 feat: Implement update user rest API endpoint 2024-08-28 17:07:13 +03:00
Ömer Faruk Aydın
4eeda10f3f Merge pull request #2041 from automatisch/remove-redundant-async-handler-wrapper
fix: remove redundant asyncHandler wrapper
2024-08-28 12:38:36 +03:00
Ali BARIN
4231784ed2 fix: remove redundant asyncHandler wrapper 2024-08-28 09:20:30 +00:00
Ali BARIN
61ff6986d3 test(update-auth-client): cover HTTP 422 response 2024-08-28 11:16:46 +02:00
Ali BARIN
09bc0bba1e refactor(web): rewrite mutation with PATCH /v1/admin/apps/:appKey/auth-clients/:appAuthClientId 2024-08-28 11:16:46 +02:00
Ali BARIN
b2bda8479e feat: write PATCH /v1/admin/apps/:appKey/auth-clients/:appAuthClientId 2024-08-28 11:16:46 +02:00
Ömer Faruk Aydın
09b255f99e Merge pull request #2037 from automatisch/refactor-async-errors
refactor: Use express-async-errors instead of express-async-handler
2024-08-28 12:13:22 +03:00
Ali BARIN
0800642a2a refactor(create-config): move unique violation error handling to error-handler 2024-08-28 10:32:06 +02:00
Ali BARIN
48b2b006c0 refactor(web): rewrite mutation with POST /v1/admin/apps/:appKey/config 2024-08-28 10:32:06 +02:00
Ali BARIN
af4c1f08ec feat: write POST /v1/admin/apps/:key/config 2024-08-28 10:32:06 +02:00
Ali BARIN
87b26b6342 fix(app-config): add missing createdAt updatedAt fields in schema 2024-08-28 10:32:06 +02:00
Ali BARIN
706fb8d82f chore(backend): add test:watch script 2024-08-28 10:32:06 +02:00
Faruk AYDIN
f7ca59bd5f refactor: Use express-async-errors instead of express-async-handler 2024-08-28 11:10:31 +03:00
Ali BARIN
6540d0ea53 fix(AdminApplicationCreateAuthClient): correct typo in auth word 2024-08-27 16:34:09 +02:00
Ali BARIN
5995038e21 fix(error-handler): use HTTP 422 for validation errors 2024-08-27 16:34:09 +02:00
Ali BARIN
337ba6ea87 test(create-auth-client): cover error handler 2024-08-27 16:34:09 +02:00
Ali BARIN
04c6183752 refactor(create-auth-client): accept only auth client schema fields 2024-08-27 16:34:09 +02:00
Ali BARIN
0b63922f46 feat: map and expose objection.js errors 2024-08-27 16:34:09 +02:00
Ali BARIN
81c39d7d93 refactor: rewrite create-app-auth-client mutation as REST endpoint 2024-08-27 16:34:09 +02:00
Ömer Faruk Aydın
164d31dfbc Merge pull request #2034 from automatisch/rest-verify-connection-api
feat: Implement rest API endpoint to verify connection
2024-08-27 15:11:53 +03:00
Faruk AYDIN
1a833aad52 feat: Implement rest API endpoint to verify connection 2024-08-27 14:51:28 +03:00
Ömer Faruk Aydın
77246c1fde Merge pull request #2033 from automatisch/refactor-test-connection
Refactor test connection action
2024-08-26 16:35:16 +03:00
Faruk AYDIN
56c08a3587 fix: Solve truncate deadlock problem for test suite 2024-08-26 16:26:29 +03:00
Faruk AYDIN
ce6214dc0f refactor: Rename create test action as test connection 2024-08-26 16:26:03 +03:00
Faruk AYDIN
22002d50ac chore: Comment converted graphQL mutations 2024-08-26 16:01:15 +03:00
Ali BARIN
ab4e94695d Merge pull request #2030 from automatisch/AUT-1132
fix: prevent resetting test data until data is loaded
2024-08-26 11:37:37 +02:00
Ömer Faruk Aydın
47a01cec7e Merge pull request #2032 from automatisch/rest-delete-step
feat: Implement delete step rest API endpoint
2024-08-23 17:44:23 +03:00
Faruk AYDIN
0cf9bc1a32 feat: Implement delete step rest API endpoint 2024-08-23 16:55:44 +03:00
kasia.oczkowska
6552ebcd3c fix: prevent resetting test data until data is loaded 2024-08-23 13:07:05 +01:00
Ali BARIN
5af1d94fc0 Merge pull request #2028 from automatisch/AUT-1183
feat: update step only when data changes
2024-08-22 16:22:16 +02:00
Ali BARIN
a4ec7b3047 feat(compute-parameters): add valueType with parse option and string by default (#2025)
* feat(compute-parameters): add valueType with parse option and string by default

* test(compute-parameters): write tests for valueType with parse and undefined

* fix(compute-parameters): cover valueType = parse in nested objects

* test(compute-parameters): cover valueType = 'parse' in nested non-primitives

* fix(compute-parameters): mark fields optional
2024-08-22 16:20:18 +02:00
Ali BARIN
66f5003d91 Merge pull request #2027 from automatisch/harden-webhook-tests
test: harden webhook tests
2024-08-22 16:19:51 +02:00
kasia.oczkowska
0c754e4b4b feat: update step only when data changes 2024-08-22 11:57:25 +01:00
Jakub P.
e008087c4a test: harden webhook tests 2024-08-22 12:05:52 +02:00
Ali BARIN
53f63996bd Merge pull request #2024 from kuba618/AUT-1186
test: add simple webhook flow test
2024-08-22 11:16:22 +02:00
Ali BARIN
4fedf77991 Merge pull request #2026 from automatisch/aut-1187
refactor(compute-parameters): rewrite logic
2024-08-22 10:18:49 +02:00
Ali BARIN
34331d8763 refactor(compute-parameters) rename functions and variables 2024-08-21 11:35:09 +00:00
Jakub P.
2c21b7762c test: add simple webhook flow test 2024-08-20 19:17:08 +02:00
Ömer Faruk Aydın
7f9c2b687f Merge pull request #2022 from automatisch/use-objects-as-variables
feat(PowerInput): support whole objects as variables
2024-08-19 14:21:52 +03:00
Ali BARIN
b452ed648c feat(PowerInput): support whole objects as variables 2024-08-16 13:22:31 +00:00
Rıdvan Akca
98e4b843ea feat(clickup/actions): add create task and find task by id (#1615)
* feat(clickup): add create task action

* feat(clickup): add find task by id action

* fix(clickup): send optional parameters only when provided

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2024-08-15 15:59:58 +02:00
Ali BARIN
da2884d53c Merge pull request #1594 from automatisch/AUT-666
feat(clickup): add clickup integration
2024-08-15 14:44:11 +02:00
Ali BARIN
7f2937400a fix(clickup/create-list): send priority and due date only when provided 2024-08-15 12:07:40 +00:00
Ali BARIN
a3a4a8e431 fix(clickup/new-folders): correct internal ID 2024-08-15 12:07:40 +00:00
Ali BARIN
3249c954d3 fix(clickup/new-lists): correct internal ID 2024-08-15 12:07:40 +00:00
Ali BARIN
7395d2a74e fix(clickup/new-tasks): correct internal ID 2024-08-15 12:07:40 +00:00
Ali BARIN
2060b7b49d feat(clickup/updated-task): mark whatChanged optional 2024-08-15 12:07:40 +00:00
Rıdvan Akca
d263726c19 feat(clickup): add create list action 2024-08-15 12:07:40 +00:00
Rıdvan Akca
7e3325e959 feat(clickup): add create folder action 2024-08-15 12:07:40 +00:00
Rıdvan Akca
ec075f05c5 feat(clickup): add task changes trigger 2024-08-15 12:07:40 +00:00
Rıdvan Akca
200e483574 feat(clickup): add new tasks trigger 2024-08-15 12:07:40 +00:00
Rıdvan Akca
6c11bfe93d feat(clickup): add new lists trigger 2024-08-15 12:07:40 +00:00
Rıdvan Akca
b4cc7f4d81 feat(clickup): add new folders trigger 2024-08-15 12:07:38 +00:00
Rıdvan Akca
26fc63c52c feat(clickup): add clickup integration 2024-08-15 12:07:24 +00:00
Ali BARIN
116bf59b68 Merge pull request #1577 from automatisch/AUT-641
feat(jotform): add jotform integration
2024-08-14 16:23:42 +02:00
Ali BARIN
566f9dd5cc fix(jotform): use right custom API URL 2024-08-14 14:14:55 +00:00
Ali BARIN
ec740c07fa feat(jotform/auth): show default API URL 2024-08-14 14:14:20 +00:00
Ali BARIN
7506bf186b feat(jotform): prettify screen name 2024-08-14 14:14:20 +00:00
Ali BARIN
27c36b644d fix(jotform/list-forms): fix pagination 2024-08-14 14:14:20 +00:00
Ali BARIN
ed2b1029f6 docs(jotform/connection): incorporate API URL field 2024-08-14 14:14:20 +00:00
Rıdvan Akca
530a920517 feat(jotform): add new submissions trigger 2024-08-14 14:14:19 +00:00
Rıdvan Akca
42f8e635ed feat(jotform): add jotform integration 2024-08-14 14:13:57 +00:00
Ali BARIN
7ace67f906 Merge pull request #1571 from automatisch/AUT-632
feat(mailchimp): add mailchimp integration
2024-08-13 15:29:39 +02:00
Ali BARIN
1b437778dc docs: sort apps alphabetically 2024-08-13 13:16:54 +00:00
Ali BARIN
43b0c65aab fix(mailchimp): update mailchimp triggers and dynamic data 2024-08-13 13:16:39 +00:00
Rıdvan Akca
3f6a319ebe feat(mailchimp): add send campaign action 2024-08-13 13:16:39 +00:00
Rıdvan Akca
4cbd342e17 feat(mailchimp): add create campaign action 2024-08-13 13:16:39 +00:00
Rıdvan Akca
273f04128c feat(mailchimp): add email opened trigger 2024-08-13 13:16:39 +00:00
Rıdvan Akca
9a5cef08d6 feat(mailchimp): add new unsubscribers trigger 2024-08-13 13:16:39 +00:00
Rıdvan Akca
bbecfdb718 feat(mailchimp): add new subscribers trigger 2024-08-13 13:16:36 +00:00
Rıdvan Akca
cbed79fbf1 feat(mailchimp): add mailchimp integration 2024-08-13 13:16:09 +00:00
Ali BARIN
c4cbc024e6 Merge pull request #2019 from automatisch/aut-1093
fix(duplicate-flow): let users duplicate flows they have access to
2024-08-09 17:23:10 +02:00
Ali BARIN
2db8dbd5a3 Merge pull request #2018 from automatisch/AUT-1090
fix(carbone/add-template): correct typo in template
2024-08-09 11:37:49 +02:00
Ömer Faruk Aydın
13b995c9f2 Merge pull request #2017 from automatisch/AUT-1094
fix(update-flow-status): throw at incomplete trigger step
2024-08-09 11:06:14 +02:00
Ali BARIN
a0944193b6 Merge pull request #1627 from automatisch/dependabot/npm_and_yarn/ip-1.1.9
chore(deps): Bump ip from 1.1.5 to 1.1.9
2024-08-08 13:41:38 +02:00
Ali BARIN
c7f343020a Merge pull request #2016 from automatisch/dependabot/npm_and_yarn/fast-xml-parser-4.4.1
chore(deps): bump fast-xml-parser from 4.2.5 to 4.4.1
2024-08-08 13:38:32 +02:00
Ali BARIN
7a48ccc4f4 Merge pull request #1938 from automatisch/dependabot/npm_and_yarn/ws-7.5.10
chore(deps): bump ws from 7.5.6 to 7.5.10
2024-08-08 13:38:20 +02:00
Ali BARIN
cc1218b7a3 Merge pull request #1937 from automatisch/dependabot/npm_and_yarn/braces-3.0.3
chore(deps): bump braces from 3.0.2 to 3.0.3
2024-08-08 13:38:01 +02:00
Ali BARIN
385e640a92 Merge pull request #2014 from automatisch/AUT-1141
feat: make role input required in CreateUser
2024-08-08 12:08:23 +02:00
Ali BARIN
b40a59cbef Merge pull request #1990 from kuba618/AUT-1137
fix: improve paths for windows os
2024-08-08 12:08:05 +02:00
Ali BARIN
1a45ce5ea4 fix(duplicate-flow): let users duplicate flows they have access to 2024-08-08 09:23:54 +00:00
Ali BARIN
ab05048409 fix(carbone/add-template): correct typo in template 2024-08-08 08:56:58 +00:00
Ali BARIN
47aabbe9c5 fix(update-flow-status): throw at incomplete trigger step 2024-08-08 08:48:27 +00:00
Ali BARIN
58cd2c522e Merge pull request #1461 from automatisch/AUT-537
feat(google-sheets): add find worksheet action
2024-08-07 16:22:06 +02:00
Rıdvan Akca
1fe0cd9f84 feat(google-sheets): add find worksheet action 2024-08-07 14:21:51 +00:00
Ali BARIN
eeee1ba1a3 Merge pull request #1565 from automatisch/AUT-618
feat(mailerlite): add campaign sent trigger
2024-08-07 14:31:27 +02:00
Ali BARIN
3cb8880c5c Merge pull request #1564 from automatisch/AUT-617
feat(mailerlite): add subscriber unsubscribed trigger
2024-08-07 14:31:19 +02:00
Ali BARIN
80cec86225 Merge pull request #1563 from automatisch/AUT-616
feat(mailerlite): add subscriber created trigger
2024-08-07 14:31:12 +02:00
Ali BARIN
cc65ed8fb0 Merge pull request #1562 from automatisch/AUT-615
feat(mailerlite): add spam complaint trigger
2024-08-07 14:31:05 +02:00
Ali BARIN
0c3f1f4a5d Merge pull request #1561 from automatisch/AUT-614
feat(mailerlite): add mailerlite integration
2024-08-07 14:30:53 +02:00
dependabot[bot]
76375941ca chore(deps): bump fast-xml-parser from 4.2.5 to 4.4.1
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.5 to 4.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.2.5...v4.4.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 12:22:09 +00:00
Ali BARIN
d2a0415def Merge pull request #2015 from automatisch/dependabot/npm_and_yarn/msgpackr-1.11.0
chore(deps): bump msgpackr from 1.5.6 to 1.11.0
2024-08-07 14:21:07 +02:00
dependabot[bot]
815c0834b2 chore(deps): bump msgpackr from 1.5.6 to 1.11.0
Bumps [msgpackr](https://github.com/kriszyp/msgpackr) from 1.5.6 to 1.11.0.
- [Release notes](https://github.com/kriszyp/msgpackr/releases)
- [Commits](https://github.com/kriszyp/msgpackr/commits)

---
updated-dependencies:
- dependency-name: msgpackr
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 12:15:36 +00:00
kasia.oczkowska
7e1e1e2524 feat: make role input required in CreateUser 2024-08-07 12:41:45 +01:00
Ali BARIN
957d2793cb Merge pull request #2009 from automatisch/test-compute-parameters
test(compute-parameters): write tests for different type of values
2024-08-07 10:57:50 +02:00
Ömer Faruk Aydın
6ab86b7574 Merge pull request #2010 from automatisch/aut-1098
fix: mark steps incomplete when their parameters change
2024-08-07 10:07:00 +02:00
Ömer Faruk Aydın
1c75b7226d Merge pull request #1999 from automatisch/redis-sentinel
feat: support redis sentinel
2024-08-07 10:00:24 +02:00
Ömer Faruk Aydın
db22d8e2c9 Merge pull request #2012 from automatisch/aut-1154
feat(http-request/custom-request): expose response headers and status
2024-08-07 10:00:07 +02:00
Ömer Faruk Aydın
7838b9609c Merge pull request #2013 from automatisch/aut-1089
fix(github/create-issue): mark repo field as required
2024-08-07 09:59:51 +02:00
Ali BARIN
2a1a0421b6 fix(github/create-issue): mark repo field as required 2024-08-06 14:42:21 +00:00
Ali BARIN
125ea0457e feat(http-request/custom-request): expose response headers and status 2024-08-06 13:35:42 +00:00
Ali BARIN
c1f5f0632b fix: mark steps incomplete when their parameters change 2024-08-05 16:34:09 +00:00
Ömer Faruk Aydın
8c84ab29c6 Merge pull request #1998 from automatisch/code-execution-app
feat(code/run-javascript): run JS code and introduce monaco editor
2024-08-05 17:32:18 +02:00
Ali BARIN
2767af11b2 fix: move nodemon config to separate package.json property 2024-08-05 14:00:02 +00:00
Ali BARIN
59bbc4c182 fix: remove single quotes in package scripts 2024-08-05 14:00:02 +00:00
Jakub P.
a755ee8dc1 fix: improve paths for windows os 2024-08-05 14:00:02 +00:00
Ali BARIN
4b1e66add3 feat(code/run-javascript): omit empty key entries 2024-08-05 13:46:41 +00:00
Faruk AYDIN
4f6727810b feat(code): Improve the default code by adding usage comments 2024-08-05 13:46:41 +00:00
Faruk AYDIN
60fdfc2b48 chore(code): Make font size of the code editor a bit bigger 2024-08-05 13:46:41 +00:00
Faruk AYDIN
268d8c8b7d feat(code): Add linebreaks to the default code value 2024-08-05 13:46:41 +00:00
Ali BARIN
49d4071928 feat(code/run-javascript): run async code and introduce monaco editor 2024-08-05 13:46:41 +00:00
Faruk AYDIN
c99b9dbe0a feat: Implement draft version of the code execution app 2024-08-05 13:46:41 +00:00
Ali BARIN
09d3a06b27 Merge pull request #2005 from automatisch/AUT-1065
fix: in FlowStep wrap in Form component only controlled inputs
2024-08-05 15:45:06 +02:00
Ali BARIN
0d49bc003f Merge pull request #2004 from automatisch/fix-dockerfile
fix: Adjust dockerfile env syntax to new dsl
2024-08-05 15:43:41 +02:00
Ali BARIN
86a5569bf7 test(compute-parameters): write tests for different type of values 2024-08-05 13:35:16 +00:00
Ali BARIN
ad9fe7dec6 Merge pull request #2007 from automatisch/release/v0.13.1
Update version to 0.13.1
2024-08-05 12:28:16 +02:00
Ali BARIN
24bf07e068 Update version to 0.13.1 2024-08-02 15:54:26 +02:00
Ali BARIN
bae234827f Merge pull request #2006 from automatisch/use-unparsed-numbers-in-compute-parameters
fix(compute-parameters): use unparsed numbers
2024-08-02 15:42:21 +02:00
Ali BARIN
81c698f45b fix(compute-parameters): use unparsed numbers 2024-08-02 12:22:03 +00:00
Ali BARIN
c9fecec575 Merge pull request #2002 from automatisch/aut-1255
feat: expose installationCompleted in GET /v1/automatisch/info
2024-08-02 11:46:48 +02:00
Ali BARIN
2f42dfdc51 Merge pull request #2001 from automatisch/remove-pwa
feat: remove PWA
2024-08-02 11:16:44 +02:00
kasia.oczkowska
5bac68b0de fix: in FlowStep wrap in Form component only controlled inputs 2024-08-02 09:31:36 +01:00
Ali BARIN
5afd500c26 Merge pull request #2003 from automatisch/release/v0.13.0
Update version to 0.13.0
2024-08-01 18:30:55 +02:00
Faruk AYDIN
03f3e5f6ab fix: Adjust dockerfile env syntax to new dsl 2024-08-01 18:15:00 +02:00
Faruk AYDIN
50d91405a9 Update version to 0.13.0 2024-08-01 17:32:19 +02:00
Ali BARIN
69eed65c9b Merge pull request #1991 from automatisch/AUT-1064
fix: introduce fix for overflowing inputs with long parameters names
2024-08-01 16:22:17 +02:00
kasia.oczkowska
f1355cd0ab fix: introduce fix for overflowing inputs with long parameters names 2024-08-01 15:10:41 +01:00
Ali BARIN
cc1a924c8b feat: use installationCompleted from useAutomatischInfo hook 2024-08-01 13:38:06 +00:00
Ali BARIN
02005a3f09 feat: expose installationCompleted in GET /v1/automatisch/info 2024-08-01 13:02:21 +00:00
Ali BARIN
d9219a5a48 feat: remove PWA 2024-08-01 12:28:23 +00:00
Ali BARIN
dffbdf544c Merge pull request #2000 from automatisch/AUT-1131
fix: prevent removing last filter criteria
2024-08-01 10:50:42 +02:00
kasia.oczkowska
e2dbf1a215 fix: prevent removing last filter criteria 2024-08-01 08:40:54 +01:00
Ali BARIN
66f9cb8d25 feat: support redis sentinel 2024-07-30 18:31:57 +00:00
Ömer Faruk Aydın
c1396b97f0 Merge pull request #1996 from automatisch/support-arrays-in-flows
feat: support arrays in flows
2024-07-30 13:26:56 +02:00
Ali BARIN
920a711c00 feat: support arrays in flows 2024-07-29 11:33:36 +00:00
Ömer Faruk Aydın
02a872a376 Merge pull request #1995 from automatisch/support-async-before-request
feat(http-client): support async beforeRequest interceptors
2024-07-27 18:41:40 +02:00
Ali BARIN
be4493710f feat(http-client): support async beforeRequest interceptors 2024-07-27 13:05:04 +00:00
Ömer Faruk Aydın
52c0c5e0c5 Merge pull request #1992 from automatisch/fix-proxy-configuration
fix(axios): update order of interceptors
2024-07-26 20:16:38 +02:00
Ali BARIN
4c639f170e fix(axios): update order of interceptors 2024-07-26 13:52:41 +00:00
Ali BARIN
509a414151 Merge pull request #1986 from automatisch/aut-1126
refactor(http-client): inherit interceptors from parent instance
2024-07-26 11:45:02 +02:00
Ali BARIN
8f3c793a69 Merge pull request #1988 from automatisch/aut-1130
feat(formatter/text): add regex support in replace transfomer
2024-07-26 11:21:12 +02:00
Ömer Faruk Aydın
a2dd9cf1b8 Merge pull request #1989 from automatisch/fix-typos-in-appwrite-docs
docs(appwrite): fix typos
2024-07-26 10:14:15 +02:00
Ömer Faruk Aydın
42285a5879 Merge pull request #1987 from automatisch/aut-1129
fix(webhook): add missing filter coverage
2024-07-26 10:13:40 +02:00
Ali BARIN
5d63fce6f0 docs(appwrite): fix typos 2024-07-25 09:18:25 +00:00
Ali BARIN
46a4c8faec feat(formatter/text): add regex support in replace transfomer 2024-07-24 17:34:14 +00:00
Ali BARIN
ba14481151 fix(webhook): add missing filter coverage 2024-07-24 16:01:28 +00:00
Ali BARIN
bdd8da98c4 Merge pull request #1985 from automatisch/aut-1061
feat: use dynamic DOCS URL
2024-07-24 14:20:03 +02:00
Ali BARIN
5a4207414d refactor(http-client): inherit interceptors from parent instance 2024-07-23 15:01:12 +00:00
Ali BARIN
730fdd32b1 feat: use dynamic DOCS URL 2024-07-23 09:48:20 +00:00
Ali BARIN
aa7f6694fc Merge pull request #1974 from kuba618/AUT-1115
test: add admin account setup tests
2024-07-22 17:03:55 +02:00
Jakub P.
8fba6704df Merge remote-tracking branch 'upstream/main' into AUT-1115 2024-07-22 16:32:09 +02:00
Jakub P.
37d02eba02 test: add teardown dependency to clean db after tests 2024-07-22 15:42:21 +02:00
Ali BARIN
75a87cf070 Merge pull request #1965 from automatisch/add-cryptography-app
feat: add cryptography app with createHmac and createSignature actions
2024-07-22 14:22:14 +02:00
Ömer Faruk Aydın
8acdc5853d Merge pull request #1978 from automatisch/AUT-1105
feat: refactor delete user mutation with the REST API endpoint
2024-07-22 14:11:35 +02:00
kasia.oczkowska
1aa1f441b3 feat: refactor delete user mutation with the REST API endpoint 2024-07-22 13:27:57 +02:00
Ömer Faruk Aydın
0e26032ac3 Merge pull request #1977 from automatisch/add-create-uuid-text-formatter
feat(formatter/text): add create uuid action
2024-07-22 13:24:14 +02:00
Ömer Faruk Aydın
871f25c6d9 Merge pull request #1975 from automatisch/add-get-current-timestamp
feat(formatter/date-time): add get current timestamp action
2024-07-22 13:23:06 +02:00
Ömer Faruk Aydın
d8199e7ba7 Merge pull request #1983 from automatisch/strict-installation-redirection
fix: safeguard redirect to /installation
2024-07-22 13:20:25 +02:00
Ali BARIN
52b938eabe Merge pull request #1980 from kuba618/AUT-1119
test: add removed user invitation test
2024-07-19 11:42:29 +02:00
Ali BARIN
94fddf3d9b Merge pull request #1979 from kuba618/AUT-1118
chore: add linter to tests
2024-07-19 11:41:34 +02:00
Ali BARIN
02c98c1ece Merge pull request #1982 from automatisch/remove-deleted-connection
fix(AppConnectionRow): invalidate app connections upon deletion
2024-07-19 11:38:31 +02:00
Ali BARIN
6ba77667e9 Merge pull request #1981 from automatisch/AUT-1103
feat: use create access token api endpoint instead of login mutation
2024-07-19 11:38:17 +02:00
Ali BARIN
e201a5b806 fix: safeguard redirect to /installation 2024-07-19 09:31:58 +00:00
Ali BARIN
adac68c407 fix(AppConnectionRow): invalidate app connections upon deletion 2024-07-19 08:43:49 +00:00
kasia.oczkowska
d051275e54 feat: use create access token api endpoint instead of login mutation 2024-07-18 13:05:59 +01:00
Jakub P.
2afc00364a test: add removed user invitation test 2024-07-18 12:40:48 +02:00
Jakub P.
0a1461231b chore: add linter to tests 2024-07-18 12:39:04 +02:00
Jakub P.
129327f40d test: add admin account setup tests 2024-07-18 12:29:35 +02:00
Ali BARIN
58819aad94 feat(cryptography/actions): add output encoding field 2024-07-17 18:44:00 +02:00
Ali BARIN
949a2543f5 feat(cryptography): add create signature action 2024-07-17 18:44:00 +02:00
Ali BARIN
0f9d732667 feat: add cryptography app with createHmac action 2024-07-17 18:44:00 +02:00
Ali BARIN
b7df175950 feat(formatter/text): add create uuid action 2024-07-17 16:07:23 +00:00
Ali BARIN
4f7ce9874f feat(formatter/date-time): add get current timestamp action 2024-07-17 15:56:26 +00:00
Ömer Faruk Aydın
f63cc80383 Merge pull request #1973 from automatisch/AUT-1109
feat: refactor reset password mutation with the REST API endpoint
2024-07-17 17:24:55 +02:00
kasia.oczkowska
dd0a1328e8 feat: refactor reset password mutation with the REST API endpoint 2024-07-17 15:05:46 +01:00
Ali BARIN
27610c002c Merge pull request #1972 from automatisch/AUT-1107
feat: refactor forgot password mutation with the REST API endpoint
2024-07-17 15:32:37 +02:00
kasia.oczkowska
46ec9b5229 feat: refactor forgot password mutation with the REST API endpoint 2024-07-17 13:23:45 +01:00
Ali BARIN
778559d537 Merge pull request #1971 from automatisch/fix-email-worker
fix(email): correct sandbox safeguard check
2024-07-17 13:53:12 +02:00
Ali BARIN
1e64b8a903 fix(email): correct sandbox safeguard check 2024-07-17 10:25:01 +02:00
Ali BARIN
0e000693d6 Merge pull request #1970 from automatisch/rest-reset-password
feat: Implement reset password rest API endpoint
2024-07-16 16:45:20 +02:00
Faruk AYDIN
cf9e09ea7a feat: Implement reset password rest API endpoint 2024-07-16 16:22:10 +02:00
Ali BARIN
eac2f729a5 Merge pull request #1969 from automatisch/fix-migrations-rollback
fix: Remove step constraint down migration
2024-07-16 16:04:07 +02:00
Faruk AYDIN
9578cd27dd fix: Remove step contraint down migration 2024-07-16 15:52:24 +02:00
Ali BARIN
9304ffffc9 Merge pull request #1968 from automatisch/rest-forgot-password
feat: Implement forgot password rest API endpoint
2024-07-16 15:52:07 +02:00
Faruk AYDIN
3fd628cb05 feat: Implement forgot password rest API endpoint 2024-07-16 15:43:15 +02:00
Ömer Faruk Aydın
fe68b70bd9 Merge pull request #1967 from automatisch/rest-delete-user
feat: Implement rest API endpoint to delete user
2024-07-16 15:42:01 +02:00
Faruk AYDIN
ec2863d218 feat: Implement rest API endpoint to delete user 2024-07-16 15:18:01 +02:00
Ali BARIN
dc56e7f883 Merge pull request #1966 from kuba618/AUT-1099
test: add accept invitation invalid token tests
2024-07-16 13:53:32 +02:00
Jakub P.
2f1f537e00 test: add accept invitation invalid token tests 2024-07-16 12:08:50 +02:00
Ali BARIN
b7b3a3025b Merge pull request #1964 from automatisch/AUT-1095
feat: create onboarding UX flow
2024-07-15 16:11:25 +02:00
Ali BARIN
edb9526538 feat(InstallationForm): rephrase submit button 2024-07-15 12:24:35 +00:00
Ali BARIN
62117ece06 Merge pull request #1939 from automatisch/aut-1035
feat(salesforce): add find partially matching record action
2024-07-15 14:01:21 +02:00
Ali BARIN
913a2a0ac1 Merge pull request #1953 from automatisch/add-security-icon-in-additional-drawer
feat(Layout): support security icon in additional drawer link
2024-07-15 14:01:10 +02:00
Ali BARIN
92ec3d07a3 feat(salesforce/find-partially-matching-record): sanitize user inputs 2024-07-15 09:04:16 +00:00
Ali BARIN
67ee7899fd feat(salesforce): add find partially matching record action 2024-07-15 09:04:16 +00:00
Ali BARIN
b0ceb3fe7e feat(InstallationForm): use thinner font weight in success alert 2024-07-15 09:00:13 +00:00
kasia.oczkowska
ba6b4c6854 feat: create onboarding UX flow 2024-07-12 14:55:30 +01:00
Ali BARIN
61e90aed60 chore: upgrade @playwright/test with 1.45.1 2024-07-12 13:40:51 +00:00
Ali BARIN
45b7a399f2 feat(Layout): support security icon in additional drawer link 2024-07-12 13:40:22 +00:00
Ali BARIN
673ed25598 Merge pull request #1963 from automatisch/add-parse-stringified-json-action
feat(formatter): add parse stringified json action
2024-07-12 12:44:49 +02:00
Ali BARIN
14fc460174 Merge pull request #1962 from automatisch/missing-power-input-label
fix: bring back the label for PowerInput
2024-07-12 12:38:54 +02:00
Ali BARIN
211b4537f9 Merge pull request #1961 from automatisch/fix-undefined-datastore-entry-throwing
fix(datastore): stop undefined datastore entry throwing
2024-07-12 12:37:53 +02:00
Ali BARIN
a683e059aa feat(formatter): add parse stringified json action 2024-07-12 10:37:16 +00:00
kasia.oczkowska
d2d2cea567 fix: return Item in renderItemFactory 2024-07-12 11:31:43 +01:00
kasia.oczkowska
e5bda65a35 fix: bring back the label for PowerInput 2024-07-12 11:27:52 +01:00
Ali BARIN
6aaef9df4b fix(datastore): stop undefined datastore entry throwing 2024-07-12 08:58:39 +00:00
Ali BARIN
7fba4d72b0 Merge pull request #1958 from automatisch/AUT-1091
fix: introduce fix for logo being stretched
2024-07-11 15:35:48 +02:00
Ali BARIN
a6dc2ed4ba Merge pull request #1956 from automatisch/AUT-1007
feat: limit vertical scroll to a reasonable boundary
2024-07-11 15:34:04 +02:00
Ali BARIN
20a40eb2f6 Merge pull request #1959 from automatisch/AUT-1088
fix: introduce fix for undefined id on dialog close when adding a connection
2024-07-11 13:23:59 +02:00
kasia.oczkowska
ec4ac9d075 fix: introduce fix for undefined id on dialog close when adding a connection 2024-07-11 12:15:51 +01:00
kasia.oczkowska
b2c14f4226 fix: introduce fix for logo being stretched 2024-07-11 11:28:45 +01:00
Ömer Faruk Aydın
099dfbd0b0 Merge pull request #1954 from automatisch/user-invitation
feat: Implement user invitation functionality
2024-07-11 12:18:20 +02:00
Ali BARIN
a9f5736c12 test: cover accept invitation flow 2024-07-11 11:38:23 +02:00
Ali BARIN
2bd4dd3ab0 test(e2e-tests): cover password field removal 2024-07-11 11:38:23 +02:00
Ali BARIN
186850c256 test: cover user status in user serializer 2024-07-11 11:38:23 +02:00
Ali BARIN
9922033d33 feat: add accept-invitation page 2024-07-11 11:38:23 +02:00
Faruk AYDIN
3c3e6e4144 feat: Implement user invitation backend functionality 2024-07-11 11:38:23 +02:00
Faruk AYDIN
0e4ac3b7f3 feat: Add status column to user model 2024-07-11 11:38:23 +02:00
Ali BARIN
c9813e0316 Merge pull request #1950 from automatisch/AUT-1074
fix: fix error for only Create role when publishing flow
2024-07-11 11:02:08 +02:00
Ali BARIN
577c0cfab9 Merge pull request #1957 from automatisch/AUT-677
feat: add missing propTypes
2024-07-11 10:54:17 +02:00
kasia.oczkowska
0966f9d715 feat: disable publish button when no flow or permissions 2024-07-11 09:39:31 +01:00
kasia.oczkowska
3f5df118a0 feat: add missing propTypes 2024-07-11 08:54:32 +01:00
kasia.oczkowska
e05c1b26f1 feat: limit vertical scroll to a reasonable boundary 2024-07-10 14:52:07 +01:00
Ömer Faruk Aydın
725b38c697 Merge pull request #1955 from automatisch/repository-structure
docs: Adjust repository to the new packages structure
2024-07-09 13:14:27 +02:00
Faruk AYDIN
402a0fdf3b docs: Adjust repository to the new packages structure 2024-07-08 21:11:25 +02:00
Ali BARIN
078364ffa1 Merge pull request #1951 from automatisch/AUT-1069
fix: set default locale for luxon's  DateTime
2024-07-08 15:19:14 +02:00
kasia.oczkowska
f64d5ec4fc fix: set default locale for luxon's DateTime 2024-07-04 15:14:28 +01:00
kasia.oczkowska
0666174501 fix: fix error for only Create role when publishing flow 2024-07-04 14:08:35 +01:00
Ali BARIN
12194a50e1 Merge pull request #1948 from automatisch/AUT-1076
feat: block access to flow creation for users without permissions
2024-07-04 10:44:15 +02:00
kasia.oczkowska
82ee592699 feat: block access to flow creation for users without permissions 2024-07-04 08:57:03 +01:00
Ali BARIN
1b4fb2ce6e Merge pull request #1947 from automatisch/AUT-1070
feat: use try-catch block for updating flow status
2024-07-03 15:37:02 +02:00
kasia.oczkowska
ebea8d12d1 feat: use try-catch block for updating flow status 2024-07-03 14:04:11 +01:00
Ali BARIN
f842dd77df Merge pull request #1945 from automatisch/remove-access-tokens-in-perm-user-deletion
fix: delete access token before hard deleting user
2024-07-03 13:16:20 +02:00
Ali BARIN
a6ec7a6c99 Merge pull request #1944 from automatisch/fix-reset-password
fix(user): make resetPasswordToken relevant fields nullable
2024-07-03 13:16:12 +02:00
Ali BARIN
369c72282c fix: delete access token before hard deleting user 2024-07-01 11:41:11 +00:00
Ali BARIN
6f30c1a509 fix(user): make resetPasswordToken relevant fields nullable 2024-07-01 10:26:17 +00:00
Ali BARIN
abfd1116c7 Merge pull request #1941 from automatisch/AUT-1038
fix: persist value in ControlledCustomAutocomplete when it depends on other fields
2024-06-21 14:32:09 +02:00
kasia.oczkowska
017854955d fix: persist value in ControlledCustomAutocomplete when it depends on other fields 2024-06-21 10:37:39 +01:00
Ali BARIN
1405cddea1 Merge pull request #1940 from automatisch/AUT-1039
Revert "feat: persist parameters values in FlowSubstep (#1505)"
2024-06-20 15:57:47 +02:00
kasia.oczkowska
00dd3164c9 Revert "feat: persist parameters values in FlowSubstep (#1505)"
This reverts commit 017a881494.
2024-06-20 14:48:51 +01:00
Ali BARIN
d5cbc0f611 Merge pull request #1578 from automatisch/AUT-620
feat: improve UI display depending on user permissions
2024-06-20 12:04:31 +02:00
kasia.oczkowska
5d2e9ccc67 feat: improve UI display depending on user persmissions 2024-06-20 09:52:00 +00:00
kattoczko
017a881494 feat: persist parameters values in FlowSubstep (#1505)
* feat: persist parameters values in FlowSubstep

* feat: add missing import

* feat: use usePrevious hook
2024-06-20 11:13:45 +02:00
Alex Maslakov
52994970e6 fix(DynamicField): display long variables better
* Fix issue #1933

Problem with rendering in DynamicField component with long variables #1933

* Fix issue #1933 (2)

* Fix issue #1933 (3)
2024-06-20 09:55:08 +02:00
Ali BARIN
ebae629e5c Merge pull request #1931 from automatisch/AUT-1010
feat: improve nodes and edges state update
2024-06-19 16:01:24 +02:00
dependabot[bot]
0dea5150a0 chore(deps): bump ws from 7.5.6 to 7.5.10
Bumps [ws](https://github.com/websockets/ws) from 7.5.6 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.6...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 08:56:00 +00:00
dependabot[bot]
c99e8d270d chore(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 12:51:03 +00:00
kasia.oczkowska
4d79220b0c refactor: fix spelling and wording errors 2024-06-14 12:39:42 +01:00
kasia.oczkowska
96fba7fbb8 feat: improve nodes and edges state update 2024-06-14 12:39:42 +01:00
Ali BARIN
e0d610071d Merge pull request #1917 from automatisch/AUT-1009
feat: hide react-flow attribution
2024-06-05 15:35:09 +02:00
kasia.oczkowska
ab0966c005 feat: hide react-flow attribution 2024-06-05 13:39:49 +01:00
Ali BARIN
751eb41e72 Merge pull request #1817 from automatisch/new-editor-feature-flag
feat: introduce feature flag for new flow editor
2024-06-04 12:45:00 +02:00
kasia.oczkowska
f08dc25711 feat: introduce style and behavior improvements 2024-06-04 07:18:18 +00:00
kasia.oczkowska
737eb31776 feat: introduce custom edges, auto layout improvements and node data updates 2024-06-04 07:17:38 +00:00
kasia.oczkowska
d6abf283bc feat: introduce automatic layout for new flow editor 2024-06-04 07:17:38 +00:00
kasia.oczkowska
bac4ab5aa4 feat: introduce feature flag for new flow editor 2024-06-04 07:17:38 +00:00
Ali BARIN
b5839390fd Merge pull request #1911 from automatisch/render-yaml-fix
fix(render.yaml): correct docker contexts
2024-06-03 11:21:31 +02:00
Ali BARIN
d19271dae1 fix(render.yaml): correct docker contexts 2024-06-03 10:23:28 +02:00
Ali BARIN
ef5a09314e Merge pull request #1907 from automatisch/fix-admin-apps-undefined-error
fix(AdminApplicationSettings): handle undefined appConfig object
2024-05-31 13:52:13 +02:00
Rıdvan Akca
ba52e298eb fix(AdminApplicationSettings): handle undefined appConfig object 2024-05-31 13:26:06 +02:00
Ali BARIN
b3c3998189 Merge pull request #1895 from automatisch/fix-appkey-error-in-flowrow
fix: remove unnecessary appKey in FlowRow and FlowContextMenu
2024-05-31 12:54:13 +02:00
Ömer Faruk Aydın
782f9b5c04 Merge pull request #1900 from automatisch/release/v0.12.0
release(v0.12.0): Update version to 0.12.0
2024-05-28 12:05:52 +02:00
Faruk AYDIN
3079d8c605 Update version to 0.12.0 2024-05-28 11:13:54 +02:00
Rıdvan Akca
c5202d7b3e fix: remove unnecessary appKey in FlowRow and FlowContextMenu 2024-05-24 14:11:22 +02:00
Ali BARIN
fbae83f4de Merge pull request #1874 from automatisch/make-value-column-text-in-datastore
fix(datastore): make value column text
2024-05-23 10:13:47 +02:00
Ali BARIN
5b7b8c934f Merge pull request #1890 from automatisch/unix-to-date-format
feat(formatter/format-date-time): add unix to datetime support
2024-05-17 15:15:06 +02:00
Rıdvan Akca
b70223e824 feat(formatter/format-date-time): add unix to datetime support 2024-05-17 15:02:22 +02:00
Ali BARIN
9900bbbc8d Merge pull request #1889 from automatisch/fix-attribute-typo 2024-05-17 14:09:01 +02:00
Rıdvan Akca
fc7f1ddd69 fix(appwrite): fix attribute typo 2024-05-17 13:47:16 +02:00
Ali BARIN
991b2f4bf7 Merge pull request #1887 from automatisch/AUT-982
feat: implement propTypes for FlowSubstep and FlowSubstepTitle
2024-05-17 13:13:03 +02:00
Ali BARIN
bb251b16a9 Merge pull request #1556 from automatisch/AUT-610
feat(appwrite): add appwrite integration
2024-05-15 21:49:23 +02:00
Ali BARIN
1b34a48a61 refactor(appwrite/dynamic-data): use native API ordering 2024-05-15 17:59:56 +00:00
Ali BARIN
8c83b715fe fix(appwrite/new-documents): add native order and pagination support 2024-05-15 17:59:56 +00:00
Ali BARIN
c122708b0b fix(appwrite): utilize DOCS_URL 2024-05-15 17:59:56 +00:00
Ali BARIN
258d920ff2 docs(appwrite): describe project settings and hostname 2024-05-15 17:59:56 +00:00
Rıdvan Akca
6e5c0cc0c7 feat(appwrite): add new documents trigger 2024-05-15 17:59:54 +00:00
Rıdvan Akca
9dc82290b5 feat(appwrite): add appwrite integration 2024-05-15 17:59:39 +00:00
Ali BARIN
bb73f90374 Merge pull request #1888 from automatisch/fix-e2e-tests
test: update first app path
2024-05-15 17:59:59 +02:00
Ali BARIN
8a0720b0e3 test: update first app path 2024-05-15 15:52:02 +00:00
Ali BARIN
88468c4f89 Merge pull request #1551 from automatisch/AUT-599
feat(airtable): add airtable integration
2024-05-15 17:35:55 +02:00
Ali BARIN
d19a45592f docs(airtable): link to airtable for apps 2024-05-15 15:30:48 +00:00
Ali BARIN
21a921d25d fix(airtable): remove user ID out of screen name 2024-05-15 15:30:36 +00:00
Ali BARIN
3b2946aac5 fix(airtable/find-record): make limitToView optional field 2024-05-15 15:30:23 +00:00
Ali BARIN
196d555e8c fix(airtable): utilize DOCS_URL 2024-05-15 15:29:31 +00:00
Ali BARIN
28f39b5c7e Merge pull request #1555 from automatisch/AUT-604
feat(airtable): add find record action
2024-05-15 17:28:38 +02:00
Rıdvan Akca
ec8ac17f4a feat(airtable): add find record action 2024-05-15 15:25:55 +00:00
Ali BARIN
c45573349a Merge pull request #1554 from automatisch/AUT-602
feat(airtable): add create record action
2024-05-15 17:24:58 +02:00
Rıdvan Akca
d36c9d43f6 feat(airtable): add create record action 2024-05-15 17:20:47 +02:00
Rıdvan Akca
b06c744392 feat: implement propTypes for FlowSubstep and FlowSubstepTitle 2024-05-15 13:56:57 +02:00
Ali BARIN
9548c93b4c Merge pull request #1867 from automatisch/custom-user-seed
add POST /api/v1/installation/users to seed user
2024-05-13 16:19:37 +02:00
Ali BARIN
4144944ab2 refactor(migrations): rename installation completed migration 2024-05-13 14:12:46 +00:00
Ali BARIN
46b85519c1 refactor(User/createAdmin): mark installation completed 2024-05-13 14:10:21 +00:00
Ali BARIN
5a83fc33ec refactor(User): rename createAdminUser with createAdmin 2024-05-13 14:09:09 +00:00
Ali BARIN
c80791267f refactor(installation): improve allow installation guard 2024-05-13 14:00:12 +00:00
Ali BARIN
b30f97db3e feat: add POST /api/v1/installation/users to seed user 2024-05-13 13:31:16 +00:00
Ali BARIN
717c81fa2b test(global-hooks): truncate config table 2024-05-13 13:31:16 +00:00
Ali BARIN
ae188bc563 feat: add migration to mark userful instances installation completed 2024-05-13 13:31:16 +00:00
Ali BARIN
fc4561221d feat: add DISABLE_SEED_USER to bypass yarn db:seed:user command 2024-05-13 13:31:16 +00:00
Ali BARIN
5aeb4f8809 Merge pull request #1883 from automatisch/checkisenterprise
feat: remove checkIsEnterprise middleware from admin users
2024-05-13 15:30:55 +02:00
Ali BARIN
c6c900bc39 test(get-users.ee): remove license mock 2024-05-13 13:20:48 +00:00
Rıdvan Akca
c18ab67a25 feat: remove checkIsEnterprise middleware from admin users 2024-05-13 15:02:10 +02:00
Ali BARIN
55ae1470d0 Merge pull request #1875 from automatisch/logout-saml 2024-05-13 13:51:49 +02:00
Ömer Faruk Aydın
a1136fdfb2 Merge pull request #1882 from automatisch/no-proxy
feat: add no_proxy support in http(s) agents
2024-05-13 13:43:39 +02:00
Ali BARIN
dfe56d3aa2 feat: add no_proxy support in http(s) agents 2024-05-13 09:15:37 +00:00
Ali BARIN
3da5e13ecd feat: support bi-directional backchannel SAML SLO 2024-05-10 08:58:32 +00:00
Ali BARIN
40d0fe0db6 chore: add saml_session_id property in access token 2024-05-10 08:54:02 +00:00
Ali BARIN
029fd2d0b0 chore(devcontainer): remove keycloak custom container name 2024-05-10 08:54:02 +00:00
Ali BARIN
12905ad733 Merge pull request #1873 from automatisch/fix-use-dynamic-data
fix(useDynamicData): send correct payload to API
2024-05-10 10:53:14 +02:00
Ali BARIN
d257f59a3e Merge pull request #1872 from automatisch/hide-empty-sso-providers
fix(SsoProviders): hide empty block
2024-05-10 10:53:00 +02:00
Ali BARIN
1dc9646894 fix(datastore): make value column text 2024-05-09 20:31:47 +00:00
Ali BARIN
c9281b4605 fix(useDynamicData): send correct payload to API 2024-05-09 20:08:59 +00:00
Ali BARIN
e9d2ae5d67 fix(SsoProviders): hide empty block 2024-05-09 19:07:30 +00:00
Ali BARIN
0f8e05610b Merge pull request #1482 from automatisch/AUT-508
feat(disqus): add new flagged comments trigger
2024-05-08 15:51:54 +02:00
Ali BARIN
9ea2196e51 refactor(disqus/new-flagged-comments): make filter value variable 2024-05-08 13:48:01 +00:00
Ali BARIN
97327a9033 Merge pull request #1865 from automatisch/AUT-973
refactor(google-tasks/find-task): filter all tasks when finding a task
2024-05-08 15:11:55 +02:00
Ali BARIN
8bf11ba7d1 Merge pull request #1544 from automatisch/AUT-582
feat(ynab): add you need a budget app integration
2024-05-08 15:11:49 +02:00
Ali BARIN
523833b015 Merge pull request #1504 from automatisch/AUT-520
feat(vtiger-crm): add vtiger crm integration
2024-05-08 15:10:16 +02:00
Ali BARIN
e25a651d26 fix(ynab/low-account-balance): scope trigger by year and month 2024-05-08 13:06:40 +00:00
Ali BARIN
92a8c1483d fix(ynab/goal-completed): scope triger by year and month 2024-05-08 12:56:46 +00:00
Ali BARIN
8da3448e9c feat(ynab): utilize DOCS_URL variable 2024-05-08 12:55:37 +00:00
Ali BARIN
f2385d8916 fix(ynab/category-overspent): scope trigger by year and month 2024-05-08 12:54:55 +00:00
Ali BARIN
17a8daa526 Merge pull request #1546 from automatisch/AUT-583
feat(ynab): add low account balance trigger
2024-05-08 12:09:16 +02:00
Ali BARIN
51e254f127 Merge pull request #1547 from automatisch/AUT-584
feat(ynab): add category overspent trigger
2024-05-08 12:09:09 +02:00
Ali BARIN
feccf571cd Merge pull request #1548 from automatisch/AUT-585
feat(ynab): add goal completed trigger
2024-05-08 12:08:57 +02:00
Ali BARIN
9f8ce44c1b Merge pull request #1549 from automatisch/AUT-586
feat(ynab): add new transactions trigger
2024-05-08 12:04:16 +02:00
Ali BARIN
a7cfe7f23b Merge pull request #1866 from automatisch/fix-ynab
refactor(ynab): specify a budget when creating a connection
2024-05-08 12:00:46 +02:00
Rıdvan Akca
8eaf775ef2 refactor(ynab): specify a budget when creating a connection 2024-05-07 17:23:16 +02:00
Rıdvan Akca
7b4179a87f refactor(google-tasks/find-task): filter all tasks when finding a task 2024-05-07 16:51:23 +02:00
Ali BARIN
43281bcbfe Merge pull request #1863 from automatisch/vtiger-fix
refactor(vtiger-crm): update field names and keys
2024-05-07 16:15:00 +02:00
Rıdvan Akca
8a35d47caf refactor(vtiger-crm): update field names and keys 2024-05-07 15:42:35 +02:00
Ali BARIN
759e8b6c42 fix(vtiger-crm/triggers): correct pagination 2024-05-07 11:33:55 +00:00
Ali BARIN
a8b01244af fix(vtiger-crm/create-case): mark contactName required 2024-05-07 11:33:37 +00:00
Ali BARIN
6ffb16ac67 fix(vtiger-crm): use DOCS_URL variable in authDocUrl 2024-05-07 11:33:17 +00:00
Ali BARIN
5b66cc6c8b Merge pull request #1527 from automatisch/AUT-521
feat(vtiger-crm): add create todo action
2024-05-07 13:23:49 +02:00
Rıdvan Akca
9a96258265 feat(vtiger-crm): add create case action 2024-05-07 11:22:51 +00:00
Rıdvan Akca
a6cc1566c7 feat(vtiger-crm): add create contact action 2024-05-07 11:22:51 +00:00
Rıdvan Akca
d8d6227125 feat(vtiger-crm): add create lead action 2024-05-07 11:22:51 +00:00
Rıdvan Akca
fbfa67e471 feat(vtiger-crm): add create todo action 2024-05-07 11:22:51 +00:00
Rıdvan Akca
ab897ada5a feat(vtiger-crm): add create opportunity action 2024-05-07 11:22:49 +00:00
Ali BARIN
3bcd3f3cb7 Merge pull request #1524 from automatisch/AUT-528
feat(vtiger-crm): add new todos trigger
2024-05-07 12:18:12 +02:00
Ali BARIN
acbede8631 Merge pull request #1523 from automatisch/AUT-530
feat(vtiger-crm): add new opportunities trigger
2024-05-07 12:16:40 +02:00
Ali BARIN
fa8c7571d7 Merge pull request #1522 from automatisch/AUT-531
feat(vtiger-crm): add new leads trigger
2024-05-07 12:14:52 +02:00
Ali BARIN
a58575c5a1 Merge pull request #1521 from automatisch/AUT-532
feat(vtiger-crm): add new invoices trigger
2024-05-07 12:13:44 +02:00
Ali BARIN
51f7009a80 Merge pull request #1520 from automatisch/AUT-533
feat(vtiger-crm): add new contacts trigger
2024-05-07 12:09:49 +02:00
Ali BARIN
ba24c77f06 Merge pull request #1519 from automatisch/AUT-534
feat(vtiger-crm): add new cases trigger
2024-05-07 11:41:57 +02:00
Rıdvan Akca
6b712c9a90 feat(disqus): add new flagged comments trigger 2024-05-07 10:43:47 +02:00
Ali BARIN
033b15a158 Merge pull request #1484 from automatisch/AUT-510
feat(google-tasks): add google tasks integration
2024-05-06 18:23:28 +02:00
Ali BARIN
e398bb84d4 fix(google-tasks): use DOCS_URL variable in auth doc url 2024-05-06 16:15:32 +00:00
Ali BARIN
05e902ab0c fix(google-tasks): enable triggers 2024-05-06 16:13:52 +00:00
Ali BARIN
36eee61cb5 fix(google-tasks/triggers): use id instead of etag 2024-05-06 16:13:30 +00:00
Ali BARIN
2409ce6fce fix(google-tasks/newCompletedTasks): use unique meaningful key 2024-05-06 16:13:12 +00:00
Ali BARIN
999d61e520 Merge pull request #1485 from automatisch/AUT-511
feat(google-tasks): add find task action
2024-05-06 18:12:02 +02:00
Ali BARIN
08d2418190 Merge pull request #1486 from automatisch/AUT-512
feat(google-tasks): add update task action
2024-05-06 18:08:25 +02:00
Ali BARIN
6c07faeaaf Merge pull request #1487 from automatisch/AUT-513
feat(google-tasks): add create task action
2024-05-06 18:05:49 +02:00
Ali BARIN
3f5cfbf5a2 Merge pull request #1488 from automatisch/AUT-514
feat(google-tasks): add create task list action
2024-05-06 18:02:40 +02:00
Ali BARIN
28f7707c75 Merge pull request #1489 from automatisch/AUT-515
feat(google-tasks): add new task lists trigger
2024-05-06 17:59:11 +02:00
Ali BARIN
dc8358f6ce Merge pull request #1490 from automatisch/AUT-516
feat(google-tasks): add new tasks trigger
2024-05-06 17:56:25 +02:00
Ali BARIN
ffcda04677 Merge pull request #1492 from automatisch/AUT-517
feat(google-tasks): add new completed tasks trigger
2024-05-06 17:50:23 +02:00
Ali BARIN
64ef655abb Merge pull request #1862 from automatisch/remove-dockerfile-cloud
chore(docker): remove Dockerfile.cloud
2024-05-06 17:00:01 +02:00
Ali BARIN
67887b1220 Merge pull request #1472 from automatisch/AUT-506
feat(disqus): add disqus integration
2024-05-06 16:14:31 +02:00
Ali BARIN
07803d1263 Merge pull request #1476 from automatisch/AUT-509
feat(disqus): add new comments trigger
2024-05-06 16:11:19 +02:00
Ali BARIN
f5ff7f7e13 chore(docker): remove Dockerfile.cloud 2024-05-06 12:42:05 +00:00
Ali BARIN
641d062b82 Merge pull request #1846 from automatisch/encode-uri-component
feat(formatter): add encode uri using encodeURIComponent action
2024-05-06 14:40:27 +02:00
Rıdvan Akca
bb28a06ee9 feat(formatter): add encode uri using encodeURIComponent action 2024-05-06 14:12:04 +02:00
Ali BARIN
81338c60f2 Merge pull request #1845 from automatisch/AUT-955
feat(formatter): add encode uri action
2024-05-06 13:44:40 +02:00
Ömer Faruk Aydın
f47fa5d272 Merge pull request #1859 from automatisch/remove-docker-cloud-entrypoint
chore(docker): remove cloud entrypoint
2024-05-03 15:16:20 +02:00
Ali BARIN
29e9e012a5 chore(docker): remove cloud entrypoint 2024-05-03 13:12:35 +00:00
Ömer Faruk Aydın
f89ddb5847 Merge pull request #1858 from automatisch/automatisch-version
fix: Do not use the version from npm packages
2024-05-03 15:11:51 +02:00
Faruk AYDIN
c721f063ef fix: Do not use the version from npm packages 2024-05-03 15:04:32 +02:00
Ömer Faruk Aydın
a709565336 Merge pull request #1857 from automatisch/latest-dockerfile
feat: Use latest docker image for docker compose
2024-05-03 14:53:25 +02:00
Faruk AYDIN
91e484aef1 feat: Use latest docker image for docker compose 2024-05-03 14:48:44 +02:00
Rıdvan Akca
6ba94dcc8e feat(formatter): add encode uri action 2024-04-27 13:21:50 +02:00
Ömer Faruk Aydın
788530be45 Merge pull request #1843 from automatisch/dockerignore
chore: Add .env and yarn error log files to dockerignore
2024-04-26 17:27:55 +02:00
Faruk AYDIN
7ed392e854 chore: Add .env and yarn error log files to dockerignore 2024-04-26 17:19:18 +02:00
Ömer Faruk Aydın
3932e554da Merge pull request #1842 from automatisch/node-gyp
chore: Explicitly install node-gyp
2024-04-26 16:45:30 +02:00
Faruk AYDIN
1a21624618 chore: Explicitly install node-gyp 2024-04-26 16:39:14 +02:00
Ömer Faruk Aydın
9f292ff018 Merge pull request #1840 from automatisch/update-bcrypt
chore: Update bcrypt version to 5.1.0
2024-04-26 15:43:47 +02:00
Faruk AYDIN
dbb24b3a9b chore: Update bcrypt version to 5.1.0 2024-04-26 15:36:36 +02:00
Ali BARIN
35b2639837 Merge pull request #1839 from automatisch/dockerfile-revision
chore: direct builds in docker
2024-04-26 15:02:37 +02:00
Ali BARIN
35951199cd chore: direct builds in docker 2024-04-26 14:42:56 +02:00
Ali BARIN
79af909c51 Merge pull request #1832 from automatisch/align-404-page-center
fix: align 404 page content to the center
2024-04-26 14:22:26 +02:00
Ali BARIN
3482aa7b76 Merge pull request #1837 from automatisch/logout-endpoint-web-implementation
feat: implement revoke access token with RQ
2024-04-26 14:20:49 +02:00
Ali BARIN
5dbc1f59ef Merge pull request #1835 from automatisch/logout-endpoint
feat: add DELETE /access-tokens/:token
2024-04-26 14:18:59 +02:00
Ali BARIN
2166a3220e style: add break line before variable declaration and beforeEach 2024-04-26 12:02:38 +00:00
Ali BARIN
24a7d1ef10 Merge pull request #1833 from automatisch/aut-931
feat: remove static page title
2024-04-26 11:51:03 +02:00
Ali BARIN
18ffbb7317 fix(AccountDropdownMenu): await token revocation request 2024-04-26 09:27:41 +00:00
Rıdvan Akca
363874de6a feat: implement revoke access token with RQ 2024-04-26 09:25:50 +00:00
Ali BARIN
68d1719b11 feat: add new methods to cors options 2024-04-26 09:25:27 +00:00
Ali BARIN
1a75d81268 test: add test for revoking access token 2024-04-26 09:16:53 +00:00
Ali BARIN
2163be4227 feat: add DELETE /access-tokens/:token 2024-04-24 15:31:22 +00:00
Ali BARIN
b54afcd922 Merge pull request #1825 from automatisch/access-tokens
feat: Use persisted access tokens for authentication
2024-04-24 16:39:57 +02:00
Ali BARIN
0a86641a0f feat: remove static page title 2024-04-24 15:27:37 +02:00
kasia.oczkowska
18464c746a fix: align 404 page content to the center 2024-04-24 13:20:07 +01:00
Ömer Faruk Aydın
ba92cddae1 Merge pull request #1828 from automatisch/aut-932
feat: compute DOCS_URL in authDocUrl
2024-04-24 12:09:19 +02:00
Faruk AYDIN
2a4f8ed45f feat: Add indexes to token and userId columns of access tokens 2024-04-24 12:03:45 +02:00
Ali BARIN
135a0028be feat: introduce DOCS_URL in authDocUrl properties 2024-04-23 12:39:38 +00:00
Ali BARIN
4da6e8372f feat: compute DOCS_URL in authDocUrl 2024-04-23 12:21:51 +00:00
Faruk AYDIN
6a7cdf2570 feat: Use persisted access tokens for authentication 2024-04-22 16:57:34 +02:00
Faruk AYDIN
73c929f25e feat: Create access tokens model 2024-04-22 15:19:17 +02:00
Ali BARIN
754c2d41c2 Merge pull request #1814 from automatisch/AUT-892
feat: remove chatwood
2024-04-17 14:40:17 +02:00
Rıdvan Akca
7201e48111 feat: remove chatwood 2024-04-17 14:29:54 +02:00
Ömer Faruk Aydın
e4292815cd Merge pull request #1812 from automatisch/AUT-917
fix: expose missing createdAt and updatedAt fields from flow
2024-04-16 14:10:26 +02:00
Rıdvan Akca
ab37250d5d fix: expose missing createdAt and updatedAt fields from flow 2024-04-15 13:57:38 +02:00
Ömer Faruk Aydın
e5be8d3ba7 Merge pull request #1802 from automatisch/AUT-688
refactor: rewrite get connected apps with RQ
2024-04-15 11:43:35 +02:00
Ali BARIN
96a421fa22 Merge pull request #1811 from automatisch/AUT-920
fix: make inputs look and behave disabled when flow is in published state
2024-04-12 16:19:37 +02:00
kasia.oczkowska
12f72401b1 fix: make inputs look and behave disabled when flow is in published state 2024-04-12 14:58:24 +01:00
Ali BARIN
7391a9eddc Merge pull request #1810 from automatisch/AUT-921
fix: disable add connection button for unauthorized users
2024-04-12 15:15:38 +02:00
Ali BARIN
30dee27f72 Merge pull request #1809 from automatisch/AUT-914
fix: invalidate app connections upon reconnecting a connection
2024-04-12 15:15:11 +02:00
Ali BARIN
51a9939034 Merge pull request #1808 from automatisch/AUT-922
fix: disable create flow button when user doesn't have permissions
2024-04-12 15:14:44 +02:00
Ali BARIN
e03c6e0ca4 Merge pull request #1807 from automatisch/update-query-key
fix: update old query key
2024-04-12 15:14:26 +02:00
Rıdvan Akca
bece5c6488 fix: invalidate app connections upon reconnecting a connection 2024-04-12 14:55:45 +02:00
kasia.oczkowska
d49bb4c52d fix: disable add connection button for unauthorized users 2024-04-12 13:43:26 +01:00
kattoczko
73d0eec30c Merge branch 'main' into update-query-key 2024-04-12 14:10:40 +02:00
kasia.oczkowska
5c756b16ca fix: disable create flow button when user doesn't have permissions 2024-04-12 12:41:50 +01:00
Ali BARIN
f482c2422c Merge pull request #1806 from automatisch/AUT-913
fix: invalidate app connections upon creating a connection
2024-04-12 13:31:03 +02:00
kasia.oczkowska
2e564c863f fix: update old query key 2024-04-12 12:25:02 +01:00
Rıdvan Akca
d9917a81bb fix: invalidate app connections upon creating a connection 2024-04-12 13:10:51 +02:00
Ali BARIN
61dc431f92 Merge pull request #1805 from automatisch/AUT-919
fix: pass current user id to usePlanAndUsage hook
2024-04-12 13:06:57 +02:00
Ali BARIN
7d2fb8d9d7 Merge pull request #1803 from automatisch/AUT-912
fix: invalidate useCurrentUser when updating profile settings
2024-04-12 13:06:24 +02:00
Ali BARIN
608b79b66f Merge pull request #1804 from automatisch/unify-query-keys 2024-04-12 11:57:13 +02:00
kasia.oczkowska
009754c18b fix: pass current user id to usePlanAndUsage hook 2024-04-12 10:43:40 +01:00
Rıdvan Akca
5df07c289e fix: invalidate useCurrentUser when updating profile settings 2024-04-12 11:28:13 +02:00
kasia.oczkowska
a36d10870b feat: unify react-query query keys 2024-04-12 10:07:51 +01:00
kasia.oczkowska
b549ba3e39 refactor: rewrite get connected apps with RQ 2024-04-11 14:00:53 +01:00
Ali BARIN
897c96361f Merge pull request #1801 from automatisch/remove-unused-get-app-auth-client
refactor: remove not used files related to gql get-app-auth-client
2024-04-11 12:18:03 +02:00
kasia.oczkowska
e7693d8aa6 refactor: remove not used files related to gql get-app-auth-client 2024-04-11 11:10:58 +01:00
Ali BARIN
1fe755f836 Merge pull request #1800 from automatisch/AUT-689
refactor: rewrite useDynamicData with RQ
2024-04-10 17:47:22 +02:00
Rıdvan Akca
ea1a63f7dd refactor: rewrite useDynamicData with RQ 2024-04-10 17:25:01 +02:00
Ali BARIN
85134722a5 Merge pull request #1799 from automatisch/AUT-709
refactor: rewrite test connection with RQ
2024-04-10 17:21:37 +02:00
Rıdvan Akca
5c9d3ed134 refactor: rewrite test connection with RQ 2024-04-10 16:39:55 +02:00
Ali BARIN
17fb935ea0 Merge pull request #1798 from automatisch/fix-flow-counts
fix: show flow counts using useConnectionFlows
2024-04-10 16:37:06 +02:00
Ali BARIN
196642a1cf feat(AppConnectionRow): embed skeleton in place of flow count 2024-04-10 14:08:30 +00:00
Rıdvan Akca
009cf63d8c fix: show flow counts using useConnectionFlows 2024-04-10 15:29:21 +02:00
Ali BARIN
da399aacd6 Merge pull request #1766 from automatisch/AUT-705
refactor: rewrite useStepWithTestExecutions with RQ
2024-04-10 13:30:04 +02:00
Rıdvan Akca
3632ee77e5 refactor: rewrite useStepWithTestExecutions with RQ 2024-04-09 16:32:52 +02:00
Ali BARIN
2901f337cc Merge pull request #1797 from automatisch/disable-retry-on-mount
fix: disable retry on mount by default
2024-04-09 14:31:57 +02:00
Ali BARIN
f0bd2f335b fix: disable retry on mount by default 2024-04-08 15:20:10 +00:00
Ali BARIN
acdd026448 Merge pull request #1780 from automatisch/AUT-686
refactor: rewrite useBillingAndUsageData with useSubscription and useUserTrial
2024-04-08 15:22:55 +02:00
Ali BARIN
fb0a328ab0 Merge pull request #1791 from automatisch/AUT-905
refactor: rewrite get app connections with RQ
2024-04-08 15:21:02 +02:00
Rıdvan Akca
d2a7889fc9 refactor: remove useBillingAndUsageData hook 2024-04-08 14:49:37 +02:00
Rıdvan Akca
88c50e014d fix: update SubscriptionCancelledAlert and CheckoutCompletedAlert based on useSubscription and useUserTrial 2024-04-08 14:45:42 +02:00
Rıdvan Akca
f0ef12f904 refactor: rewrite useSubscription with RQ and use it in UsageDataInformation 2024-04-08 14:45:42 +02:00
Rıdvan Akca
1827f5413f refactor(useUserTrial): return hasTrial field from hook 2024-04-08 14:45:42 +02:00
Rıdvan Akca
0609f30e25 feat: introduce usePlanAndUsage with RQ 2024-04-08 14:45:42 +02:00
Rıdvan Akca
d4e4d95b6d refactor: rewrite get app connections with RQ 2024-04-08 14:44:36 +02:00
Ali BARIN
d74af4931e Merge pull request #1793 from automatisch/AUT-682
refactor: rewrite useAuthClients with RQ
2024-04-08 14:40:44 +02:00
Ali BARIN
bee043d10d Merge pull request #1792 from automatisch/fix-deleting-flows
fix: refetch app flows after delete and duplicate
2024-04-08 14:25:52 +02:00
Rıdvan Akca
a65e48b98a fix: refetch app flows after delete and duplicate 2024-04-08 13:52:32 +02:00
Ali BARIN
ee26b54d54 Merge pull request #1761 from automatisch/AUT-859
refactor: rewrite useFlow and useStepConnection with RQ
2024-04-08 13:33:48 +02:00
Ömer Faruk Aydın
855ec53dc2 Merge pull request #1795 from automatisch/rest-get-user-apps
feat: Implement users get apps API endpoint
2024-04-07 03:54:47 +02:00
Faruk AYDIN
3e3e48110d feat: Implement users get apps API endpoint 2024-04-07 03:45:33 +02:00
Rıdvan Akca
fc04a357c8 refactor: rewrite useFlow and useStepConnection with RQ 2024-04-05 17:51:28 +02:00
Ali BARIN
c8147370de Merge pull request #1794 from automatisch/fix-application-page
fix: destructure app config data correctly on Application page
2024-04-05 16:50:57 +02:00
kasia.oczkowska
999426be89 fix: destructure app config data correctly on Application page 2024-04-05 15:36:50 +01:00
kasia.oczkowska
91458f91ef refactor: rewrite useAuthClients with RQ 2024-04-05 15:35:05 +01:00
Ali BARIN
4b9ed29cc0 Merge pull request #1758 from automatisch/dependabot/npm_and_yarn/webpack-dev-middleware-5.3.4
chore(deps): bump webpack-dev-middleware from 5.3.0 to 5.3.4
2024-04-05 16:03:44 +02:00
Ali BARIN
e3bcb673fb Merge pull request #1787 from automatisch/dependabot/npm_and_yarn/vite-3.2.10
chore(deps): bump vite from 3.2.8 to 3.2.10
2024-04-05 16:03:20 +02:00
Ali BARIN
bf4776ca4f Merge pull request #1788 from automatisch/AUT-867
fix: introduce fix for token management
2024-04-05 14:19:05 +02:00
Ali BARIN
9f7f30a92a Merge pull request #1790 from automatisch/AUT-907
fix: set loading false if there is no flowName
2024-04-05 14:18:03 +02:00
Rıdvan Akca
5c29fff55e fix: set loading false if there is no flowName 2024-04-05 14:06:29 +02:00
Ali BARIN
a0160c2573 Merge pull request #1789 from automatisch/fix-use-apps
fix: introduce fix for useApps not using name as param
2024-04-05 12:00:50 +02:00
kasia.oczkowska
87d3ca287d fix: introduce fix for useApps not using name as param 2024-04-05 10:48:49 +01:00
kasia.oczkowska
526e093689 fix: introduce fix for token management 2024-04-04 14:16:25 +01:00
Ömer Faruk Aydın
0930c9d8d6 Merge pull request #1786 from automatisch/flow-error-message
fix: Use soft deleted filter to get soft deleted user
2024-04-04 00:50:50 +02:00
dependabot[bot]
ec680a713d chore(deps): bump vite from 3.2.8 to 3.2.10
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.2.8 to 3.2.10.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v3.2.10/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.2.10/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 18:08:37 +00:00
Faruk AYDIN
583f90d1e9 fix: Use soft deleted filter to get soft deleted user 2024-04-03 19:10:40 +02:00
Ömer Faruk Aydın
8ba95381bc Merge pull request #1784 from automatisch/create-dynamic-data-action
feat: Implement create dynamic data API endpoint
2024-04-03 01:23:14 +02:00
Faruk AYDIN
ec6d634b99 feat: Implement create dynamic data API endpoint 2024-04-03 01:17:06 +02:00
Ali BARIN
bc082acbe7 Merge pull request #1785 from automatisch/make-stages-dynamic-in-pipedrive
feat(pipedrive/create-deal): add dynamic stages
2024-04-03 00:09:46 +02:00
Ali BARIN
e474ba02cb Merge pull request #1645 from automatisch/flex-http-request
feat(http-request/custom-request): utilize accept header for parsing response
2024-04-02 19:54:44 +02:00
Ali BARIN
ea922aaf10 feat(pipedrive/create-deal): add dynamic stages 2024-04-02 15:43:53 +00:00
Ömer Faruk Aydın
766e6e20d8 Merge pull request #1783 from automatisch/rest-test-connection
feat: Implement test connection API endpoint
2024-03-30 00:22:38 +01:00
Faruk AYDIN
8e646c244e feat: Implement test connection API endpoint 2024-03-30 00:12:59 +01:00
Ömer Faruk Aydın
26f31a5899 Merge pull request #1782 from automatisch/rest-get-app-connections
feat: Implement get app connections API endpoint
2024-03-29 00:44:15 +01:00
Faruk AYDIN
5c79e374dd feat: Implement get app connections API endpoint 2024-03-29 00:21:58 +01:00
Ömer Faruk Aydın
7c1473ea95 Merge pull request #1781 from automatisch/fix-app-config-endpoint
fix: Fetch app auth clients for app config endpoint
2024-03-28 22:55:46 +01:00
Faruk AYDIN
1fe4cc3258 fix: Fetch app auth clients for app config endpoint 2024-03-28 22:48:17 +01:00
Ömer Faruk Aydın
042ad4cea1 Merge pull request #1774 from automatisch/rest-admin-get-app-auth-client
feat: Implement new admin get app auth client API endpoint
2024-03-28 20:47:50 +01:00
Ömer Faruk Aydın
e4c998dbce Merge pull request #1773 from automatisch/rest-admin-get-app-auth-clients
feat: Implement new admin get auth clients API endpoint
2024-03-28 20:47:40 +01:00
Ömer Faruk Aydın
83c8cacdac Merge pull request #1771 from automatisch/rest-get-app-auth-clients
feat: Implement new get app auth clients API endpoint
2024-03-28 20:47:12 +01:00
Ömer Faruk Aydın
f75d5d906e Merge pull request #1770 from automatisch/add-app-key-to-auth-clients
feat: Implement new get auth clients api endpoint
2024-03-28 20:44:51 +01:00
Faruk AYDIN
85b3856564 chore: Correct the folder of get auth client mock 2024-03-28 20:41:12 +01:00
Faruk AYDIN
75cb2569b5 chore: Remove old app auth client routers 2024-03-28 20:41:12 +01:00
Faruk AYDIN
0a4ac1cece feat: Implement new admin get app auth client API endpoint 2024-03-28 20:41:12 +01:00
Faruk AYDIN
a873fd14bd chore: Remove old admin app auth clients API endpoint 2024-03-28 20:40:45 +01:00
Faruk AYDIN
85b4cd4998 feat: Implement new admin get auth clients API endpoint 2024-03-28 20:40:45 +01:00
Faruk AYDIN
e9bc9b1aa8 fix: Typo for the get auth clients test file 2024-03-28 20:40:45 +01:00
Faruk AYDIN
e3bf599bf6 feat: Implement new get app auth clients API endpoint 2024-03-28 20:40:14 +01:00
Faruk AYDIN
01ae96840e refactor: Remove redundant appConfigId from get auth clients mock 2024-03-28 20:38:46 +01:00
Faruk AYDIN
186160ebf4 feat: Make appKey column of app auth clients not nullable 2024-03-28 20:38:46 +01:00
Faruk AYDIN
70f5e45c1f chore: Remove old app auth clients API endpoint 2024-03-28 20:38:46 +01:00
Faruk AYDIN
6dc54ecabc feat: Implement new get auth clients api endpoint 2024-03-28 20:38:46 +01:00
Faruk AYDIN
d21888c047 feat: Remove app config relation from app auth clients 2024-03-28 20:38:46 +01:00
Faruk AYDIN
33f7a90042 feat: Remove app auth clients relation from app configs 2024-03-28 20:38:46 +01:00
Faruk AYDIN
a00d3a2c5e feat: Remove app config id from app auth clients 2024-03-28 20:38:46 +01:00
Faruk AYDIN
abc64d769c feat: Migrate app config id to app key 2024-03-28 20:38:46 +01:00
Faruk AYDIN
88754ac569 feat: Add appKey to app auth clients 2024-03-28 20:38:46 +01:00
Ali BARIN
e3ee05d47d Merge pull request #1772 from automatisch/fix-signal
fix(useDynamicFields): pass signal in RQ
2024-03-28 14:22:39 +01:00
Rıdvan Akca
3b004e7483 fix(useDynamicFields): pass signal in RQ 2024-03-27 10:57:17 +03:00
Ali BARIN
9aa48c20e4 Merge pull request #1764 from automatisch/AUT-872
refactor: rewrite useDynamicFields with RQ
2024-03-26 16:58:43 +01:00
Rıdvan Akca
1b5d3beeca refactor: rewrite useDynamicFields with RQ 2024-03-26 18:50:36 +03:00
Ömer Faruk Aydın
00115d313e Merge pull request #1769 from automatisch/rest-logger
refactor: Use additional logger line only for graphQL
2024-03-26 16:25:12 +01:00
Faruk AYDIN
190f1a205f refactor: Use additional logger line only for graphQL 2024-03-26 15:39:02 +01:00
Ali BARIN
8ab6f0c3fe Merge pull request #1767 from automatisch/fix-trial-badge
fix: show trial status badge if user has trial
2024-03-26 13:52:40 +01:00
Rıdvan Akca
13eea263c0 fix: show trial status badge if user has trial 2024-03-26 15:45:26 +03:00
Ömer Faruk Aydın
b52b40962e Merge pull request #1768 from automatisch/rest-create-access-token
feat: Implement create access token API endpoint
2024-03-26 13:31:18 +01:00
Faruk AYDIN
7d1fa2e40c feat: Implement create access token API endpoint 2024-03-26 13:14:33 +01:00
Faruk AYDIN
93b2098829 refactor: Extract token generation logic to User model 2024-03-26 13:14:10 +01:00
Faruk AYDIN
a2acdc6b12 feat: Add draft version of renderError to renderer helper 2024-03-26 13:13:37 +01:00
Ali BARIN
38b2c1e30f Merge pull request #1765 from automatisch/refactor-get-app-config
refactor: Move app config endpoint to apps namespace
2024-03-26 12:38:42 +01:00
Rıdvan Akca
e07f579f3c refactor: update endpoint in useAppConfig 2024-03-25 19:12:45 +03:00
Faruk AYDIN
df3297b6ca refactor: Move app config endpoint to apps namespace 2024-03-25 17:01:16 +01:00
Ömer Faruk Aydın
fc4eeed764 Merge pull request #1760 from automatisch/rest-app-auth-clients
feat: Implement get app auth clients API endpoint
2024-03-22 15:20:00 +01:00
Faruk AYDIN
3596d13be1 feat: Implement get app auth clients API endpoint 2024-03-22 15:05:37 +01:00
Ömer Faruk Aydın
104d49ea1c Merge pull request #1759 from automatisch/rest-admin-app-auth-clients
feat: Implement admin get app auth clients API endpoint
2024-03-22 15:05:30 +01:00
Faruk AYDIN
7057317446 refactor: Use ee extension for admin app auth clients 2024-03-22 14:48:46 +01:00
Faruk AYDIN
280575df88 refactor: Move app auth client mock to correct folder 2024-03-22 14:46:43 +01:00
Faruk AYDIN
d2cb434b7b refactor: Move admin get app auth client mock to correct folder 2024-03-22 14:44:35 +01:00
Faruk AYDIN
2ecb802a2e feat: Implement admin get app auth clients API endpoint 2024-03-22 14:42:48 +01:00
Ali BARIN
46e706c415 Merge pull request #1756 from automatisch/AUT-687
refactor: rewrite useConfig with RQ
2024-03-22 10:24:52 +01:00
kasia.oczkowska
3a57349d8a refactor: rewrite useConfig with RQ 2024-03-22 09:14:29 +00:00
dependabot[bot]
565db852e0 chore(deps): bump webpack-dev-middleware from 5.3.0 to 5.3.4
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.0 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.0...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 09:08:14 +00:00
Ali BARIN
754c3269ec Merge pull request #1739 from automatisch/dependabot/npm_and_yarn/follow-redirects-1.15.6
chore(deps): bump follow-redirects from 1.15.3 to 1.15.6
2024-03-22 10:07:35 +01:00
Ömer Faruk Aydın
a079842408 Merge pull request #1757 from automatisch/create-dynamic-fields-endpoint
feat: Implement create dynamic fields API endpoint
2024-03-22 03:05:11 +01:00
Faruk AYDIN
7664b58553 feat: Implement create dynamic fields API endpoint 2024-03-22 02:55:23 +01:00
Ali BARIN
de77488f7e Merge pull request #1754 from automatisch/AUT-697
refactor: rewrite useNotifications with RQ
2024-03-21 15:05:35 +01:00
kasia.oczkowska
d808afd21b refactor: rewrite useNotifications with RQ 2024-03-21 14:56:54 +01:00
Ömer Faruk Aydın
b68aff76a1 Merge pull request #1755 from automatisch/get-previous-steps
feat: Implement get previous steps rest API endpoint
2024-03-21 14:56:16 +01:00
Faruk AYDIN
6da7fe158f feat: Implement get previous steps rest API endpoint 2024-03-21 14:40:18 +01:00
Faruk AYDIN
4dbc7fdc7d feat: Extend step serializers to include execution steps 2024-03-21 14:39:22 +01:00
Ali BARIN
ad1e1f7eca Merge pull request #1750 from automatisch/make-respond-with-flexible
feat(webhooks/respond-with): accept custom headers
2024-03-21 12:03:51 +01:00
Ömer Faruk Aydın
9c3f7a3823 Merge pull request #1753 from automatisch/use-objection-for-factories
refactor: Use objection instead of knex for factories
2024-03-20 17:31:37 +01:00
Faruk AYDIN
86f4cb7701 refactor: Use objection instead of knex for factories 2024-03-20 17:24:44 +01:00
Ali BARIN
359a90245d Merge pull request #1734 from automatisch/AUT-845
refactor: rewrite useUsers with RQ
2024-03-20 16:08:07 +01:00
kasia.oczkowska
d8d7d86359 feat: invalidate queries on user related actions 2024-03-20 15:00:54 +00:00
Ali BARIN
7189b629c0 Merge pull request #1746 from automatisch/AUT-856
refactor: rewrite useFlows as useConnectionFlows and useAppFlows with RQ
2024-03-20 15:13:36 +01:00
kasia.oczkowska
55c9b5566c feat: rename hooks 2024-03-20 14:23:33 +01:00
kasia.oczkowska
ab671ccbf7 refactor: rewrite useUsers with RQ 2024-03-20 13:14:25 +00:00
Rıdvan Akca
316bda8c3f refactor: rewrite useFlows as useConnectionFlows and useAppFlows with RQ 2024-03-20 11:45:26 +03:00
Ömer Faruk Aydın
76f77e8a4c Merge pull request #1752 from automatisch/fix-step-factory
fix: Adjust step factory to use objection instead of knex
2024-03-20 02:15:13 +01:00
Faruk AYDIN
4a99d5eab7 fix: Adjust step factory to use objection instead of knex 2024-03-20 02:03:31 +01:00
Ali BARIN
473d287c6d feat(webhooks/respond-with): accept custom headers 2024-03-19 19:21:20 +00:00
Ömer Faruk Aydın
bddd9896e4 Merge pull request #1749 from automatisch/fix/docs-change
fix: Do not explicitly define github and context for CI actions
2024-03-19 20:08:08 +01:00
Faruk AYDIN
95eb115965 fix: Do not explicitly define github and context for CI actions 2024-03-19 17:49:05 +01:00
Ömer Faruk Aydın
9a63b213b0 Merge pull request #1747 from automatisch/docs-changes
feat: Add docs change CI workflow to detect changes
2024-03-19 17:37:56 +01:00
Faruk AYDIN
90b00d88f1 feat: Add docs change CI workflow to detect changes 2024-03-19 17:32:36 +01:00
Rıdvan Akca
ec87c7f21c feat: introduce useLazyFlows with RQ 2024-03-19 16:56:53 +03:00
Ali BARIN
452f45cac6 Merge pull request #1744 from QAComet/QAComet/manage-users-roles-update
test: fix flakiness in manage roles and users tests
2024-03-19 12:57:28 +01:00
Ali BARIN
c644b3d384 Merge pull request #1745 from automatisch/fix-unused-queries
fix: pass all params to enabled of RQ if necessary
2024-03-19 11:25:32 +01:00
Rıdvan Akca
68160c20e8 fix: pass all params to enabled of RQ if necessary 2024-03-19 13:16:08 +03:00
QAComet
ad144206dd fix(e2e): update expect to web-first assertion, wait for edit form to load 2024-03-18 12:22:56 -06:00
Ali BARIN
f3d20ab769 Merge pull request #1738 from automatisch/AUT-849
refactor: rewrite useAdminSamlAuthProviderRoleMappings with RQ
2024-03-18 15:19:33 +01:00
Ömer Faruk Aydın
9767ca7116 Merge pull request #1741 from automatisch/guard-actions-triggers
fix: Guard actions and triggers properties of apps
2024-03-17 13:26:59 +01:00
Faruk AYDIN
73a5b8553f fix: Guard actions and triggers properties of apps 2024-03-17 12:47:18 +01:00
dependabot[bot]
5c684cd499 chore(deps): bump follow-redirects from 1.15.3 to 1.15.6
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 20:12:03 +00:00
Ali BARIN
479f3e3172 Merge pull request #1737 from automatisch/fix-admin-applications
fix: control variables parameter in useApps hook
2024-03-15 17:26:27 +01:00
Rıdvan Akca
6a1350fd00 refactor: rewrite useAdminSamlAuthProviderRoleMappings with RQ 2024-03-15 19:03:54 +03:00
Rıdvan Akca
563784da1c fix: control variables parameter in useApps hook 2024-03-15 18:57:43 +03:00
Ali BARIN
347f0ed3a5 Merge pull request #1736 from automatisch/fix-loading-and-undefined-requests
fix: convert loading to isLoading in useUser hook
2024-03-15 16:50:07 +01:00
Rıdvan Akca
1db9f5b2c2 fix: convert loading to isLoading in useUser hook 2024-03-15 18:42:07 +03:00
Ömer Faruk Aydın
f2a3e26188 Merge pull request #1735 from automatisch/delete-step-fix
fix: Use correct model file to delete step
2024-03-15 16:42:06 +01:00
Faruk AYDIN
1c0897bfb6 fix: Use correct model file to delete step 2024-03-15 16:34:38 +01:00
Ali BARIN
f0793992a6 Merge pull request #1726 from automatisch/AUT-839
refactor: rewrite usePermissionCatalog with RQ
2024-03-15 15:28:33 +01:00
Ali BARIN
393205ba2f Merge pull request #1725 from automatisch/AUT-838
refactor: rewrite useSamlAuthProviders with RQ
2024-03-15 15:28:01 +01:00
Rıdvan Akca
ab49535b6c refactor: rewrite useSamlAuthProviders with RQ 2024-03-15 17:27:48 +03:00
Ali BARIN
8191b48548 Merge pull request #1722 from automatisch/AUT-832
refactor: rewrite useUserTrial with RQ
2024-03-15 15:19:58 +01:00
Rıdvan Akca
925dd06432 refactor: rewrite useUserTrial with RQ 2024-03-15 16:56:31 +03:00
Rıdvan Akca
0d525e056a refactor: rewrite usePermissionCatalog with RQ 2024-03-15 16:51:22 +03:00
Ali BARIN
3aa86eebf2 Merge pull request #1733 from automatisch/AUT-844
refactor: rewrite useUser with RQ
2024-03-15 14:03:20 +01:00
Ali BARIN
d7a93abec0 Merge pull request #1717 from automatisch/AUT-829
refactor: rewrite useCurrentUser with RQ
2024-03-15 14:02:09 +01:00
Ali BARIN
6448d28a18 Merge pull request #1732 from automatisch/AUT-842
refactor: rewrite useSamlAuthProvider with RQ
2024-03-15 13:59:22 +01:00
kasia.oczkowska
449976483c refactor: rewrite useUser with RQ 2024-03-15 12:55:23 +00:00
Ali BARIN
e468b762ef Merge pull request #1723 from automatisch/remove-unused-payloads
refactor: remove unused payloads from RQ
2024-03-15 13:53:45 +01:00
Rıdvan Akca
b578e73cc4 refactor: rewrite useSamlAuthProvider with RQ 2024-03-15 15:52:39 +03:00
Ali BARIN
e381f95b95 Merge pull request #1719 from automatisch/AUT-831
refactor: rewrite useSubscription with RQ
2024-03-15 13:23:06 +01:00
Ali BARIN
5685afae63 Merge pull request #1718 from automatisch/AUT-830
refactor: rewrite useInvoices with RQ
2024-03-15 13:22:21 +01:00
Ali BARIN
53a473422b Merge pull request #1731 from automatisch/AUT-841
refactor: rewrite useRole with RQ
2024-03-15 13:19:41 +01:00
Rıdvan Akca
3f9f17f584 refactor: rewrite useRole with RQ 2024-03-15 15:09:36 +03:00
QAComet
2c410bf318 docs(e2e-tests): write basic README for setting up the tests (#1730) 2024-03-15 13:08:04 +01:00
Ali BARIN
40934a2c77 Merge pull request #1727 from automatisch/AUT-840
refactor: rewrite useRoles with RQ
2024-03-15 13:03:44 +01:00
Rıdvan Akca
ecc9379d7e refactor: remove get-roles GQL query 2024-03-15 14:51:18 +03:00
Ömer Faruk Aydın
f8d27342dc Merge pull request #1729 from automatisch/rest-plan-and-usage
feat: Implement plan and usage API endpoint
2024-03-15 00:56:42 +01:00
Faruk AYDIN
17bd2bf2ba feat: Implement plan and usage API endpoint 2024-03-15 00:49:15 +01:00
Ömer Faruk Aydın
d984a3f275 Merge pull request #1728 from automatisch/rest-saml-auth-providers
feat: Implement get role mappings API endpoint
2024-03-14 16:01:34 +01:00
Faruk AYDIN
64049bd546 feat: Implement get role mappings API endpoint 2024-03-14 15:49:14 +01:00
Rıdvan Akca
9218091c33 refactor: rewrite useRoles with RQ 2024-03-14 16:33:08 +03:00
Rıdvan Akca
75df7d6413 refactor: rewrite parameters of RQ hooks 2024-03-14 13:54:51 +03:00
Ömer Faruk Aydın
29341f81e1 Merge pull request #1724 from automatisch/rest-saml-auth-providers
feat: Implement saml auth providers API endpoint
2024-03-14 10:36:33 +01:00
Faruk AYDIN
68c5a3dca7 feat: Implement saml auth providers API endpoint 2024-03-14 10:27:24 +01:00
Ömer Faruk Aydın
b1e2e370c8 Merge pull request #1720 from automatisch/rest-get-step-connection
feat: Implement get step connection API endpoint
2024-03-14 10:27:18 +01:00
Rıdvan Akca
ba9d3afc88 refactor: remove unused payloads from RQ 2024-03-14 12:25:26 +03:00
Faruk AYDIN
9a0434be32 feat: Implement get step connection API endpoint 2024-03-13 19:51:36 +01:00
Faruk AYDIN
d6923a2ff0 fix: Use insertAndFetch to get record with after find modifications 2024-03-13 19:51:36 +01:00
Faruk AYDIN
8f7f6dc19e feat: Add connection serializer 2024-03-13 19:51:36 +01:00
Rıdvan Akca
70b8817643 refactor: rewrite useSubscription with RQ 2024-03-13 18:03:29 +03:00
Rıdvan Akca
87c25cbbfe refactor: rewrite useInvoices with RQ 2024-03-13 18:01:32 +03:00
Rıdvan Akca
082e905014 refactor: remove get-current-user GQL query 2024-03-13 17:58:37 +03:00
Ali BARIN
e3e598b208 Merge pull request #1721 from automatisch/fix-public-layout
fix: introduce a fix for the content container height in the PublicLayout component
2024-03-13 15:46:21 +01:00
kasia.oczkowska
6cf92d4ea6 fix: introduce a fix for the content container height in the PublicLayout component 2024-03-13 14:28:16 +00:00
Ali BARIN
89ad685f3a Merge pull request #1716 from automatisch/AUT-828
refactor: rewrite useVersion and healthcheck with RQ
2024-03-13 11:02:38 +01:00
Rıdvan Akca
1e868dc802 refactor: rewrite useCurrentUser with RQ 2024-03-13 12:33:31 +03:00
Rıdvan Akca
58fcfd9a34 refactor: rewrite useVersion and healthcheck with RQ 2024-03-13 11:39:52 +03:00
Ali BARIN
c849afbc11 Merge pull request #1715 from automatisch/AUT-698
refactor: rewrite usePaddleInfo and usePaymentPlans with RQ
2024-03-13 09:20:39 +01:00
Rıdvan Akca
2ebe71ddd0 refactor: rewrite usePaymentPlans with RQ 2024-03-13 11:05:21 +03:00
Rıdvan Akca
7a8e8c1f3e refactor: rewrite usePaddleInfo with RQ 2024-03-12 17:21:44 +03:00
Ali BARIN
5e897ad1c2 Merge pull request #1460 from automatisch/AUT-493
feat: introduce asterisk for all the required fields
2024-03-12 14:23:53 +01:00
Ali BARIN
ce07907f85 Merge pull request #1700 from automatisch/AUT-782
feat: make flow editor topbar sticky
2024-03-12 14:21:37 +01:00
Ali BARIN
1e38aa7b53 Merge pull request #1714 from automatisch/AUT-693
refactor: rewrite get executions using useExecutions with RQ
2024-03-12 14:17:15 +01:00
Rıdvan Akca
3bc0c23e5a refactor: rewrite get executions using useExecutions with RQ 2024-03-12 15:45:04 +03:00
Ali BARIN
f07b6d105a Merge pull request #1712 from automatisch/AUT-692
refactor: rewrite get execution using useExecution with RQ
2024-03-12 12:34:48 +01:00
Rıdvan Akca
46491269e3 refactor: rewrite get execution using useExecution with RQ 2024-03-12 14:24:23 +03:00
Ali BARIN
8d9c43af6a Merge pull request #1711 from automatisch/AUT-691
refactor: rewrite get execution steps using useExecutionSteps with RQ
2024-03-12 12:23:19 +01:00
Rıdvan Akca
c3568354aa feat: use useInfinityQuery instead of useQuery in useExecutionSteps 2024-03-12 13:55:58 +03:00
Rıdvan Akca
e68696ccd4 refactor: rewrite get execution steps using useExecutionSteps with RQ 2024-03-12 12:12:09 +03:00
Ali BARIN
35d8b2e790 Merge pull request #1713 from automatisch/fix-auth-client-auth-fields
fix: use useAppAuth for getting auth fields
2024-03-11 16:18:03 +01:00
Rıdvan Akca
1f83573206 fix: use useAppAuth for getting auth fields 2024-03-11 18:07:15 +03:00
Ali BARIN
2887e76514 Merge pull request #1702 from automatisch/AUT-683
refactor: rewrite useAppConfig with RQ
2024-03-11 15:43:04 +01:00
Rıdvan Akca
63b9943203 refactor: rewrite useAppConfig with RQ 2024-03-11 17:32:55 +03:00
Ali BARIN
bd5aedd83f Merge pull request #1696 from automatisch/AUT-685
refactor: implement rest API endpoint for get app and get apps
2024-03-11 15:26:54 +01:00
Rıdvan Akca
c9ff6d7bb9 fix: pass enabled to useTriggers and useActions hooks 2024-03-11 17:17:09 +03:00
Rıdvan Akca
5835def5d0 refactor: move abort controller into useLazyApps hook 2024-03-11 16:16:12 +03:00
Ali BARIN
6a2694ce3b Merge pull request #1644 from automatisch/sync-webhook
feat(webhook/catch-raw-webhook): add sync support and custom response
2024-03-11 14:05:35 +01:00
Ali BARIN
65ae7bce79 chore(webhook/catch-raw-webhook): update description 2024-03-11 13:55:43 +01:00
Ali BARIN
57ce8da0ee feat(webhook): add respondWith action 2024-03-11 13:54:00 +01:00
Ali BARIN
7484bf7403 feat(webhook/catch-raw-webhook): add sync support 2024-03-11 13:54:00 +01:00
Ömer Faruk Aydın
f6b2312c49 Merge pull request #1710 from automatisch/rest-get-connection-flows
feat: Implement get connection flows API endpoint
2024-03-11 12:50:53 +01:00
Faruk AYDIN
6027cb7cb0 feat: Implement get connection flows API endpoint 2024-03-10 16:11:07 +01:00
Ömer Faruk Aydın
c1740aae6c Merge pull request #1708 from automatisch/rest-app-flows
feat: Implement API endpoint to get flows of the specified app
2024-03-09 15:16:01 +01:00
Faruk AYDIN
22ce29e86c feat: Implement API endpoint to get flows of the specified app 2024-03-09 15:09:12 +01:00
Ömer Faruk Aydın
251d1b5b2e Merge pull request #1707 from automatisch/rest-get-flows
feat: Implement get flows API endpoint
2024-03-08 23:21:34 +01:00
Faruk AYDIN
ea64708c69 feat: Implement get flows API endpoint 2024-03-08 23:11:42 +01:00
Ömer Faruk Aydın
209ec27a29 Merge pull request #1706 from automatisch/rest-config-api
feat: Implement automatisch config API endpoint
2024-03-08 22:49:54 +01:00
Faruk AYDIN
ceee495525 feat: Implement automatisch config API endpoint 2024-03-08 22:42:24 +01:00
Ömer Faruk Aydın
751a2347aa Merge pull request #1703 from automatisch/rest-get-subscription
feat: Implement get subscription API endpoint
2024-03-08 14:46:13 +01:00
Faruk AYDIN
efd96d5fdf feat: Implement get subscription API endpoint 2024-03-08 14:33:47 +01:00
Rıdvan Akca
2ee5af8bfb feat: add useAppAuth with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
a4c0edf493 refactor: remove getApp query from web 2024-03-07 16:53:22 +03:00
Rıdvan Akca
28c8be97b6 feat: add useLazyApps hook 2024-03-07 16:53:22 +03:00
Rıdvan Akca
f320a44d45 refactor: rewrite get-app queries with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
c0cc6cc176 refactor: rewrite get-apps queries with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
be62c09d06 refactor: rewrite useApp with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
5fe3546d2a feat: add useTriggerSubsteps and useActionSubsteps with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
c4b2ea125c feat: add useActions with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
3301b038fe feat: add useTriggers with RQ 2024-03-07 16:53:22 +03:00
Rıdvan Akca
6a58d1e3da fix(useAdminAppAuthClient): pass signal 2024-03-07 16:53:22 +03:00
Rıdvan Akca
e5670d820d refactor: rewrite useApps with RQ 2024-03-07 16:53:22 +03:00
Ömer Faruk Aydın
1870aead73 Merge pull request #1701 from automatisch/rest-get-app-config
feat: Implement get app config API endpoint
2024-03-07 14:26:46 +01:00
Faruk AYDIN
95db6cca2c feat: Implement get app config API endpoint 2024-03-07 14:18:21 +01:00
Faruk AYDIN
79a792ac62 feat: Add app config serializer 2024-03-07 14:11:00 +01:00
Kasia
6406f9eb86 feat: make flow editor topbar sticky 2024-03-07 12:20:22 +01:00
Kasia
8f8ec496f8 feat: introduce asterisk for all the required fields 2024-03-07 10:15:53 +01:00
Ali BARIN
3d6847a3a2 Merge pull request #1558 from automatisch/AUT-606
fix: remove unnecessery styling causing the problem with scrolling Edit/Create role pages
2024-03-07 00:38:20 +01:00
Ali BARIN
613abaec1b Merge pull request #1550 from automatisch/AUT-563
feat: render AdminSettingsLayout once for all child routes
2024-03-06 18:56:59 +01:00
Ömer Faruk Aydın
b51ae9ac38 Merge pull request #1698 from automatisch/rest-get-execution-steps
feat: Implement get execution steps API endpoint
2024-03-06 17:30:33 +01:00
Faruk AYDIN
c4fd03542b feat: Implement get execution steps API endpoint 2024-03-06 17:23:56 +01:00
Faruk AYDIN
e40d6c5ef0 feat: Implement execution step serializer 2024-03-06 17:23:56 +01:00
kasia.oczkowska
9f7dee3baa test: introuce test fix, select role by exact name 2024-03-06 16:28:17 +01:00
kasia.oczkowska
d3da62c04a feat: render AdminSettingsLayout once for all child routes 2024-03-06 16:28:17 +01:00
kasia.oczkowska
aa7bb3f8c9 fix: remove unnecessery styling causing the problem 2024-03-06 15:55:03 +01:00
Ali BARIN
3a9dfe339a Merge pull request #1689 from automatisch/fix-auth-in-rq
fix: initialize auth in RQ client
2024-03-06 15:52:17 +01:00
Ali BARIN
08830003a3 Merge pull request #1560 from automatisch/AUT-619
fix: add optional chaining to data.getTrialStatus check
2024-03-06 15:34:04 +01:00
kasia.oczkowska
efeeb6cb02 fix: add optional chaining to data.getTrialStatus check and introduce minor code improvements 2024-03-06 15:12:02 +01:00
Ömer Faruk Aydın
ac59ce2deb Merge pull request #1697 from automatisch/rest-get-executions
feat: Implement get executions API endpoint
2024-03-06 15:08:35 +01:00
Faruk AYDIN
3ff89a03ac feat: Implement get executions API endpoint 2024-03-06 14:46:19 +01:00
Faruk AYDIN
25e231cd7c feat: Extend execution serializer with status 2024-03-06 14:46:10 +01:00
Ömer Faruk Aydın
f4d8d909b0 Merge pull request #1695 from automatisch/sentry-enhancement
chore: Do not enable sentry for dev and test environments
2024-03-05 15:53:36 +01:00
Faruk AYDIN
35ea18a117 chore: Do not enable sentry for dev and test environments 2024-03-05 15:47:07 +01:00
Ömer Faruk Aydın
ee9433261b Merge pull request #1693 from automatisch/refactor-get-executions-tests
refactor: Add steps to get execution tests
2024-03-04 16:23:09 +01:00
Faruk AYDIN
1cb48c7760 refactor: Add steps to get execution tests 2024-03-04 16:14:11 +01:00
Ömer Faruk Aydın
172bf4bd51 Merge pull request #1692 from automatisch/remove-empty-associations
refactor: Remove empty associations from serializers
2024-03-04 16:14:00 +01:00
Faruk AYDIN
fe1039cfbc test: Add permissions to get current user tests 2024-03-04 16:07:18 +01:00
Faruk AYDIN
a9de79546b refactor: Remove empty associations from serializers 2024-03-04 16:06:50 +01:00
dependabot[bot]
145172f486 chore(deps): Bump ip from 1.1.5 to 1.1.9
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.5 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.5...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 14:22:03 +00:00
kasia.oczkowska
7afdf43872 feat: introduce propTypes 2024-03-04 15:21:07 +01:00
Rıdvan Akca
bfc7d5d0dd refactor(web): rewrite useAdminAppAuthClient with react-query (#1690) 2024-03-04 13:09:42 +01:00
Ömer Faruk Aydın
690832052a Merge pull request #1691 from automatisch/error-handler
feat: Send rest API errors to Sentry
2024-03-04 13:01:20 +01:00
Faruk AYDIN
f7c1a47d52 feat: Send rest API errors to Sentry 2024-03-04 12:19:53 +01:00
Ali BARIN
930843d065 fix: initialize auth in RQ client 2024-03-04 10:48:55 +00:00
Ömer Faruk Aydın
a9ee609502 Merge pull request #1688 from automatisch/rest-get-execution
feat: Implement get execution API endpoint
2024-03-03 19:06:10 +01:00
Faruk AYDIN
9fd2125923 test: Add tests for execution serializer 2024-03-03 18:58:54 +01:00
Faruk AYDIN
ede8703f9d feat: Implement get execution API endpoint 2024-03-03 18:53:14 +01:00
Faruk AYDIN
6d85623d9b feat: Add execution serializer 2024-03-03 18:52:32 +01:00
Faruk AYDIN
6236ee8f6d feat: Add authorizedExecutions to user model 2024-03-03 18:51:50 +01:00
Ömer Faruk Aydın
92665d80d6 Merge pull request #1687 from automatisch/get-action-substeps
feat: Implement get action substeps API endpoint
2024-03-02 16:30:43 +01:00
Faruk AYDIN
70ae0bc77e feat: Implement get action substeps API endpoint 2024-03-02 16:24:20 +01:00
Faruk AYDIN
e28c757352 feat: Add find action substeps method to App model 2024-03-02 16:24:20 +01:00
Ömer Faruk Aydın
7cdcf7ebab Merge pull request #1686 from automatisch/get-app-actions
feat: Implement get app actions API endpoint
2024-03-02 16:19:57 +01:00
Faruk AYDIN
7c368af5ed feat: Implement get app actions API endpoint 2024-03-02 16:13:13 +01:00
Faruk AYDIN
df2fbbabc6 feat: Implement action serializer 2024-03-02 16:12:51 +01:00
Faruk AYDIN
48141eb199 feat: Add find actions by key method to App model 2024-03-02 16:09:57 +01:00
Ömer Faruk Aydın
343fbb282c Merge pull request #1685 from automatisch/get-trigger-substeps
feat: Implement get trigger substeps API endpoint
2024-03-02 14:44:06 +01:00
Faruk AYDIN
cea9ed056b feat: Implement get trigger substeps API endpoint 2024-03-01 16:35:46 +01:00
Ali BARIN
73bd90c555 refactor(web): utilize REACT_APP_BACKEND_URL for GQL and REST API URLs 2024-03-01 15:14:22 +01:00
Ali BARIN
917de46c45 chore(web): build with API URL 2024-03-01 15:14:22 +01:00
Ali BARIN
b592092923 chore: update building web in e2e tests 2024-03-01 15:14:22 +01:00
Ali BARIN
760bc1c22a fix(useAutomatischInfo): pass signal correctly 2024-03-01 15:14:22 +01:00
Ali BARIN
1f8b81ee78 refactor: remove GetAutomatischInfo GQL query 2024-03-01 15:14:22 +01:00
Ali BARIN
70af7d05e3 refactor: remove AutomatischInfo context 2024-03-01 15:14:22 +01:00
Ali BARIN
14c04ee4ac refactor: rewrite useAutomatischInfo with RQ and REST API 2024-03-01 15:14:22 +01:00
Ali BARIN
83815d3caa feat: introduce react-query and react-query-devtools 2024-03-01 15:14:22 +01:00
Ali BARIN
487c621fa5 chore: update react and react-dom to 18 2024-03-01 15:14:22 +01:00
Ömer Faruk Aydın
304eab801c Merge pull request #1684 from automatisch/rest-get-triggers
feat: Implement get triggers API endpoint
2024-03-01 15:10:31 +01:00
Faruk AYDIN
dfe3add1cc feat: Implement get triggers API endpoint 2024-03-01 15:03:53 +01:00
Faruk AYDIN
a32bf5539e feat: Add find triggers by key method to App model 2024-03-01 15:02:56 +01:00
Faruk AYDIN
e944333e5f feat: Implement trigger serializer 2024-03-01 15:02:21 +01:00
Ömer Faruk Aydın
dad23a52b0 Merge pull request #1683 from automatisch/rest-get-apps
feat: Implement get apps API endpoint
2024-03-01 14:27:59 +01:00
Faruk AYDIN
53606c306d feat: Implement get apps API endpoint 2024-03-01 14:21:41 +01:00
Ömer Faruk Aydın
53b03f8231 Merge pull request #1680 from automatisch/available-apps
docs: Add datastore to available apps
2024-03-01 12:03:02 +01:00
Faruk AYDIN
ac5f6dc024 docs: Add datastore to available apps 2024-03-01 11:50:42 +01:00
Ali BARIN
2c15e0dd32 Merge pull request #1665 from automatisch/ts-removal-in-web
refactor(web): remove typescript
2024-02-29 11:43:07 +01:00
Ömer Faruk Aydın
007334fef0 Merge pull request #1671 from automatisch/helix-integration
feat: Use new API endpoint from Helix
2024-02-29 11:41:19 +01:00
Ali BARIN
b3ae2d2748 refactor(web): remove typescript 2024-02-29 09:38:32 +00:00
Ömer Faruk Aydın
7149c766d0 Merge pull request #1675 from automatisch/get-app-auth
feat: Implement get app auth API endpoint
2024-02-28 16:25:40 +01:00
Faruk AYDIN
5dca0191d2 feat: Implement get app auth API endpoint 2024-02-28 16:16:13 +01:00
Faruk AYDIN
356668a68d feat: Implement auth serializer 2024-02-28 16:16:13 +01:00
Faruk AYDIN
63c9442126 feat: Add find by auth method to App model 2024-02-28 16:16:13 +01:00
Faruk AYDIN
0031d7911d fix: Adjust description of app serializer test 2024-02-28 16:16:13 +01:00
Faruk AYDIN
31c92b43b4 feat: Add optional system prompt variable to Helix app 2024-02-28 14:18:55 +01:00
Faruk AYDIN
2667548041 feat: Introduce optional session ID for helix app 2024-02-28 13:44:04 +01:00
Faruk AYDIN
54282ba7e0 feat: Use new API endpoint from Helix 2024-02-28 02:23:50 +01:00
Ömer Faruk Aydın
7f324abd44 Merge pull request #1669 from automatisch/helix-attemtps
fix: Add artificial delay to Helix API attempts
2024-02-27 23:49:05 +01:00
Faruk AYDIN
65a0c3b40a fix: Add artificial delay to Helix API attempts 2024-02-27 23:44:52 +01:00
Ömer Faruk Aydın
2449baac5b Merge pull request #1668 from automatisch/document-datastore
docs: Add datastore app to the integration list
2024-02-27 22:10:52 +01:00
Faruk AYDIN
0ab03e1856 docs: Add datastore app to the integration list 2024-02-27 21:44:51 +01:00
Ömer Faruk Aydın
9a3f85106c Merge pull request #1667 from automatisch/fix-helix-integration
fix: Stop asking to helix server after 50 attempts
2024-02-27 19:17:04 +01:00
Faruk AYDIN
42c495d8ab fix: Stop asking to helix server after 50 attempts 2024-02-27 19:14:19 +01:00
Ömer Faruk Aydın
58def585f1 Merge pull request #1666 from automatisch/datastore-app
feat: Implement datastore built-in app
2024-02-27 19:13:26 +01:00
Faruk AYDIN
047034d831 fix: Remove min length validation from value of datastore 2024-02-27 19:05:27 +01:00
Faruk AYDIN
bdb2f24a81 feat: Implement datastore built-in app 2024-02-27 19:01:46 +01:00
Ömer Faruk Aydın
636870a075 Merge pull request #1661 from automatisch/get-app
feat: Introduce app serializer
2024-02-26 22:32:06 +01:00
Faruk AYDIN
8981174302 feat: Introduce app serializer 2024-02-26 22:25:03 +01:00
Faruk AYDIN
dd5f05334b feat: Allow renderer to use explicitly defined serializers 2024-02-26 22:17:21 +01:00
Ömer Faruk Aydın
929b626b51 Merge pull request #1660 from automatisch/rest-get-app
feat: Implement get app API endpoint
2024-02-26 21:44:23 +01:00
Faruk AYDIN
7d5b2ec81e feat: Implement get app API endpoint 2024-02-26 17:59:48 +01:00
Ömer Faruk Aydın
f0e2d36c34 Merge pull request #1657 from automatisch/timestamp-serializer
feat: Use timestamp for serializer date objects
2024-02-26 14:36:34 +01:00
Faruk AYDIN
94f171d757 feat: Use timestamp for serializer date objects 2024-02-26 14:11:56 +01:00
Ömer Faruk Aydın
04e06db430 Merge pull request #1656 from automatisch/api-controller-tests
test: Cover not found responses for API endpoint tests
2024-02-26 13:36:48 +01:00
Faruk AYDIN
d74b215169 test: Cover bad request responses for API endpoint tests 2024-02-26 13:30:30 +01:00
Faruk AYDIN
404ea94dd2 test: Cover not found responses for API endpoint tests 2024-02-26 01:40:20 +01:00
Faruk AYDIN
4afe7c6b46 feat: Handle bad request for invalid UUID 2024-02-26 01:26:04 +01:00
Ömer Faruk Aydın
60b20c4d01 Merge pull request #1655 from automatisch/add-async-handler
feat: Implement async handler for routes
2024-02-26 01:25:35 +01:00
Faruk AYDIN
58658c6b1a feat: Do not expose unknown error message to client 2024-02-26 01:07:31 +01:00
Faruk AYDIN
ec444317b3 feat: Catch not found error message for objection 2024-02-26 01:06:54 +01:00
Faruk AYDIN
8b4aee1afa feat: Implement async handler for routes 2024-02-26 01:03:15 +01:00
Ömer Faruk Aydın
51abd74304 Merge pull request #1654 from automatisch/get-flow
feat: Implement get flow API endpoint
2024-02-26 01:02:38 +01:00
Faruk AYDIN
b93b465f09 feat: Implement get flow API endpoint 2024-02-26 00:52:02 +01:00
Faruk AYDIN
5aad68ec62 test: Use nested serializers explicitly for serializer tests 2024-02-25 23:34:41 +01:00
Faruk AYDIN
74fbc937a1 feat: Introduce flow serializer 2024-02-25 23:31:22 +01:00
Faruk AYDIN
7e35f544eb feat: Introduce step serializer 2024-02-25 23:01:55 +01:00
Ömer Faruk Aydın
ed1c3cffc1 Merge pull request #1653 from automatisch/rest-automatisch-license
faet: Implement automatisch license API endpoint
2024-02-25 18:36:42 +01:00
Ömer Faruk Aydın
c4983a9f9b Merge pull request #1652 from automatisch/rest-automatisch-info
feat: Implement automatisch info API endpoint
2024-02-25 18:36:27 +01:00
Ömer Faruk Aydın
5b43262e7a Merge pull request #1651 from automatisch/remove-role-join
chore: No need to join role since we don't expose roleId anymore
2024-02-25 18:36:10 +01:00
Ömer Faruk Aydın
dad4408679 Merge pull request #1650 from automatisch/rest-get-invoices
feat: Implement get invoices API endpoint
2024-02-25 18:35:52 +01:00
Ömer Faruk Aydın
a78c4d12b4 Merge pull request #1607 from automatisch/AUT-681
feat: implement app-auth-client endpoint
2024-02-25 18:35:33 +01:00
Ömer Faruk Aydın
74664a9df8 Merge pull request #1649 from automatisch/move-get-user
feat: Move get user API endpoint to admin namespace
2024-02-25 18:34:48 +01:00
Ömer Faruk Aydın
fce5281a03 Merge pull request #1648 from automatisch/move-get-users
feat: Move get users API endpoint to admin namespace
2024-02-25 18:32:24 +01:00
Faruk AYDIN
de0bd2f486 faet: Implement automatisch license API endpoint 2024-02-25 03:28:20 +01:00
Faruk AYDIN
079fb5d108 feat: Implement automatisch info API endpoint 2024-02-25 03:27:17 +01:00
Faruk AYDIN
1c7435a32b chore: No need to join role since we don't expose roleId anymore 2024-02-25 02:02:02 +01:00
Faruk AYDIN
1afd374cf6 feat: Implement get invoices API endpoint 2024-02-25 01:31:36 +01:00
Faruk AYDIN
3adf549915 feat: Extract get invoices logic to user model 2024-02-25 01:30:29 +01:00
Faruk AYDIN
e94d669eca fix: Cover empty array case for renderer helper 2024-02-25 01:29:59 +01:00
Faruk AYDIN
5fac0b4689 test: Add tests for app auth client serializer 2024-02-24 02:51:34 +01:00
Faruk AYDIN
832d323a6e refactor: Remove redundant query string from get app auth client tests 2024-02-24 01:25:46 +01:00
Faruk AYDIN
03f1dbd5b2 feat: Add check enterprise middleware to get app auth clients 2024-02-24 01:24:41 +01:00
Faruk AYDIN
c0a216f109 refactor: Remove license check for admin, since it is middleware responsibility 2024-02-24 01:22:27 +01:00
Faruk AYDIN
ad67b13270 fix: Add missing middleware imports for admin app auth clients 2024-02-24 01:18:30 +01:00
Faruk AYDIN
5d420c08c6 fix: Remove forgotten character in the routes 2024-02-24 01:14:56 +01:00
Faruk AYDIN
3d8235c670 refactor: Use kebab-case for app auth client serializer filename 2024-02-24 01:10:59 +01:00
Faruk AYDIN
5a209f81d1 feat: Add missing middleware checks to admin app auth clients 2024-02-24 01:08:08 +01:00
Rıdvan Akca
d17d8e2805 feat: implement app-auth-client endpoint 2024-02-24 01:02:28 +01:00
Faruk AYDIN
ca7636e7bc feat: Move get user API endpoint to admin namespace 2024-02-24 00:40:54 +01:00
Faruk AYDIN
532cfc10d0 feat: Move get users API endpoint to admin namespace 2024-02-24 00:31:15 +01:00
Ömer Faruk Aydın
72d68c4377 Merge pull request #1647 from automatisch/error-logger-for-queues
feat: Add logger for errors happened in queues
2024-02-23 23:57:00 +01:00
Faruk AYDIN
00f5964aa4 feat: Add logger for errors happened in queues 2024-02-23 23:50:50 +01:00
Ali BARIN
bd1ad5fa56 feat(http-request/custom-request): utilize accept header for parsing response 2024-02-23 18:03:56 +00:00
Ali BARIN
f2e22e7445 feat: keep axios defaults for instances 2024-02-23 18:02:33 +00:00
Ömer Faruk Aydın
fcf345abab Merge pull request #1642 from automatisch/delete-step
fix: Allow permitted users to delete others steps
2024-02-23 14:15:29 +01:00
Faruk AYDIN
24ad43d3e4 fix: Allow permitted users to delete others steps 2024-02-23 13:45:50 +01:00
Ömer Faruk Aydın
9a7cdf42e1 Merge pull request #1641 from automatisch/remove-role-id-from-user-serializer
chore: Remove redundant roleId from user serializer
2024-02-23 11:28:20 +01:00
Ömer Faruk Aydın
c36b652d5b Merge pull request #1640 from automatisch/rest-get-notifications
feat: Implement get notifications API endpoint
2024-02-23 11:28:11 +01:00
Ömer Faruk Aydın
553070fc23 Merge pull request #1638 from automatisch/rest-get-payment-paddle-info
feat: Implement get paddle info API endpoint
2024-02-23 11:27:50 +01:00
Ömer Faruk Aydın
5d69f7e24f Merge pull request #1637 from automatisch/rest-get-payment-plans
feat: Implement get payment plans API endpoint
2024-02-23 11:27:36 +01:00
Ömer Faruk Aydın
bc0e2bada0 Merge pull request #1635 from automatisch/rest-get-role
feat: Implement get role API endpoint for admin
2024-02-23 11:27:22 +01:00
Ömer Faruk Aydın
80b6cc1d94 Merge pull request #1636 from automatisch/rest-get-permissions-catalog
feat: Implement permission catalog API endpoint
2024-02-23 11:20:34 +01:00
Ömer Faruk Aydın
bce3273e64 Merge pull request #1634 from automatisch/rest-get-roles
feat: Implement admin get roles API endpoint
2024-02-23 11:20:25 +01:00
Faruk AYDIN
3abf61152a chore: Remove redundant roleId from user serializer 2024-02-23 01:30:57 +01:00
Faruk AYDIN
14923d4cd6 feat: Implement get notifications API endpoint 2024-02-23 01:24:56 +01:00
Faruk AYDIN
6fdc4bf900 feat: Implement get paddle info API endpoint 2024-02-22 20:22:05 +01:00
Faruk AYDIN
d21e1f75b5 feat: Implement get payment plans API endpoint 2024-02-21 18:15:32 +01:00
Faruk AYDIN
84a0b37fcc feat: Implement permission catalog API endpoint 2024-02-21 17:52:51 +01:00
Faruk AYDIN
f135a0f09e feat: Implement get role API endpoint for admin 2024-02-21 17:39:05 +01:00
Faruk AYDIN
0f24c99456 feat: Add permissions to role serializer 2024-02-21 16:01:45 +01:00
Faruk AYDIN
9eae0ab947 fix: Move get saml auth provider mocks to correct namespace 2024-02-21 15:37:39 +01:00
Faruk AYDIN
3bf1f79c79 feat: Implement admin get roles API endpoint 2024-02-21 15:35:30 +01:00
Faruk AYDIN
b21074c871 fix: Move saml auth provider router to correct folder 2024-02-21 14:59:42 +01:00
Ömer Faruk Aydın
d7893d9a32 Merge pull request #1621 from automatisch/show-saml-auth-provider
feat: Implement API endpoint to show saml auth provider
2024-02-20 13:00:25 +01:00
Ömer Faruk Aydın
9cbdda330c Merge pull request #1620 from automatisch/fix-authorization-middleware
fix: Include http methods for route rules
2024-02-20 12:59:12 +01:00
Ömer Faruk Aydın
42a9bfd099 Merge pull request #1619 from automatisch/get-saml-auth-providers
feat: Implement get saml auth providers API endpoint
2024-02-20 12:59:03 +01:00
Faruk AYDIN
eb15bd01ca feat: Implement API endpoint to show saml auth provider 2024-02-19 23:41:37 +01:00
Faruk AYDIN
9e98aebeb3 fix: Include http methods for route rules 2024-02-19 22:22:04 +01:00
Faruk AYDIN
1361cbc826 chore: Remove get saml auth providers from authorization list 2024-02-19 22:19:37 +01:00
Faruk AYDIN
679d0808a9 refactor: Move saml auth providers endpoint to admin namespace 2024-02-19 22:18:15 +01:00
Faruk AYDIN
6fe9a548ad feat: Implement get saml auth providers API endpoint 2024-02-19 21:48:06 +01:00
Faruk AYDIN
2d6d2430d2 fix: Detect types also for not paginated arrays 2024-02-19 21:46:20 +01:00
Faruk AYDIN
a445538e81 feat: Implement isCheckEnterprise middleware 2024-02-19 21:22:36 +01:00
Faruk AYDIN
50d38ffbd8 chore: Make http log level lower than info 2024-02-19 21:14:54 +01:00
Faruk AYDIN
93bcdfd9c9 feat: Implement saml auth provider serializer 2024-02-19 17:59:18 +01:00
Faruk AYDIN
5be3b101a5 feat: Implement saml auth provider factory 2024-02-19 17:58:52 +01:00
Ömer Faruk Aydın
024c7476c7 Merge pull request #1616 from automatisch/node-18-in-devcontainer
refactor: use node 18 in devcontainer
2024-02-19 11:51:59 +01:00
Ali BARIN
30a7ffe93d refactor: use node 18 in devcontainer 2024-02-19 10:17:16 +00:00
kattoczko
e2d803ebf7 feat: do not let users access notifications page when it's turned off (#1583) 2024-02-16 16:15:01 +01:00
kattoczko
be7e67c940 feat: introduce 404 page (#1600) 2024-02-16 15:54:35 +01:00
kattoczko
ead4b13ba5 feat: Show /login directly on / without valid authentication (#1528) 2024-02-16 15:15:25 +01:00
Ömer Faruk Aydın
e02c42ee18 Merge pull request #1605 from automatisch/test-permission-serializer
test: Add tests for permission serializer
2024-02-16 12:41:09 +01:00
Ömer Faruk Aydın
d39886fdf8 Merge pull request #1604 from automatisch/test-role-serializer
test: Add tests for role serializer
2024-02-16 12:40:59 +01:00
Ömer Faruk Aydın
11a425f1de Merge pull request #1603 from automatisch/test-user-serializer
test: Add tests for user serializer
2024-02-16 12:40:48 +01:00
Ömer Faruk Aydın
f0e194e584 Merge pull request #1606 from automatisch/remove-redundant
chore: Remove redundant npm libraries
2024-02-16 12:37:34 +01:00
Faruk AYDIN
d4b9331cf2 chore: Remove redundant npm libraries 2024-02-16 01:01:50 +01:00
Faruk AYDIN
37e1acc5f1 test: Add tests for permission serializer 2024-02-16 00:19:53 +01:00
Faruk AYDIN
ffaf6a577d test: Add tests for role serializer 2024-02-16 00:18:53 +01:00
Faruk AYDIN
afdaf6ba39 test: Add tests for user serializer 2024-02-16 00:10:37 +01:00
Ömer Faruk Aydın
4c49367910 Merge pull request #1602 from automatisch/introduce-serializers
feat: Introduce serializers
2024-02-15 12:46:20 +01:00
Ömer Faruk Aydın
a506c4411d Merge pull request #1601 from automatisch/rest-get-trial
feat: Implement API endpoint for user trial info
2024-02-15 12:45:54 +01:00
Faruk AYDIN
1859c9854e chore: Add permission serializer to serializers 2024-02-15 02:21:26 +01:00
Faruk AYDIN
6ff29b9ae6 refactor: Use serializer for user model instead of formatJson 2024-02-15 02:19:24 +01:00
Faruk AYDIN
3578f6b849 feat: Extend renderer to use serializers 2024-02-15 02:15:44 +01:00
Faruk AYDIN
0347864fde feat: Introduce serializers 2024-02-15 02:15:19 +01:00
Faruk AYDIN
5f9786a2c7 chore: Adjust get user trial file to have .ee extension 2024-02-14 15:55:02 +01:00
Faruk AYDIN
75aeff1898 test: Cover removed user token for authentication tests 2024-02-14 15:48:49 +01:00
Faruk AYDIN
0afcdce6d3 refactor: Do not expose subscription info for get user trial 2024-02-14 14:23:54 +01:00
Faruk AYDIN
a591d0ea87 test: Add tests for get user trial action 2024-02-14 14:18:42 +01:00
Faruk AYDIN
0e111a3532 feat: Implement API endpoint for user trial info 2024-02-14 14:18:28 +01:00
Faruk AYDIN
b599466ffa feat: Add checkIsCloud middleware for routes 2024-02-14 13:06:58 +01:00
Faruk AYDIN
69727e78df fix: Throw not found error for authentication 2024-02-14 13:06:29 +01:00
Ömer Faruk Aydın
02ae67b147 Merge pull request #1597 from automatisch/rest-api-get-users
feat: Implement api/v1/users API endpoint
2024-02-14 11:38:09 +01:00
Faruk AYDIN
a769f78801 test: Add tests for api/v1/users API endpoint 2024-02-14 01:20:29 +01:00
Faruk AYDIN
d583e42428 refactor: Structure api mock data with folders 2024-02-14 01:02:42 +01:00
Faruk AYDIN
da732becb6 feat: Implement api/v1/users API endpoint 2024-02-14 00:52:17 +01:00
Faruk AYDIN
b89a4d58d9 feat: Add pagination for REST endpoints 2024-02-14 00:51:48 +01:00
Faruk AYDIN
09854147d1 feat: Extend renderer functionality to work with pagination 2024-02-14 00:51:16 +01:00
Ömer Faruk Aydın
3648c2bfe3 Merge pull request #1592 from automatisch/rest-api-get-user
feat: Implement api/v1/users/:userId API endpoint
2024-02-13 12:14:37 +01:00
Ömer Faruk Aydın
3f3ee032f6 Merge pull request #1591 from automatisch/rest-api-get-current-user
feat: Implement users/me API endpoint
2024-02-13 11:34:37 +01:00
Ömer Faruk Aydın
68e5d54331 Merge pull request #1590 from automatisch/rest-api-automatisch-version
feat: Implement automatisch version API endpoint
2024-02-13 10:42:44 +01:00
Faruk AYDIN
824c434b0b feat: Implement api/v1/users/:userId API endpoint 2024-02-13 03:44:44 +01:00
Faruk AYDIN
9f0e0ca656 feat: Implement users/me API endpoint 2024-02-13 02:06:24 +01:00
Faruk AYDIN
95f89ba03e refactor: Use objectionjs instead of knex for factories 2024-02-13 01:49:40 +01:00
Faruk AYDIN
697f72ecf4 refactor: Use api/v1 namespace for routes 2024-02-12 23:30:38 +01:00
Faruk AYDIN
4f03f2ab51 feat: Introduce renderer helper 2024-02-12 23:25:09 +01:00
Faruk AYDIN
c81531cb7a feat: Implement automatisch version API endpoint 2024-02-12 22:59:44 +01:00
Ömer Faruk Aydın
7b6e4aa153 Merge pull request #1589 from automatisch/healthcheck-api-endpoint
feat: Implement healthcheck api endpoint
2024-02-12 22:57:58 +01:00
Faruk AYDIN
f21039d19d feat: Implement healthcheck api endpoint 2024-02-12 22:50:57 +01:00
morihoos
8c936a91be fix(csp): remove illegal characters in directive names (#1585) 2024-02-08 17:41:33 +01:00
Ali BARIN
24451892ff feat: add custom additional drawer link (#1586) 2024-02-08 16:33:12 +01:00
morihoos
6bba2c82fe feat(config): add ability to override apiUrl in environment variables (#1581) 2024-02-07 16:17:03 +01:00
Ali BARIN
3320dc6bc4 Merge pull request #1582 from automatisch/toggle-favicon-and-notifications-page
feat: put favicon and notifications page behind feature flags
2024-02-07 14:46:59 +01:00
Ali BARIN
9d42fd9293 test(queries/get-config): incorporate feature flags
cover disableNotificationsPage and disableFavicon feature flags
2024-02-07 13:11:57 +00:00
Ali BARIN
e6b806616f feat: add DISABLE_FAVICON feature flag 2024-02-07 11:51:17 +00:00
Ali BARIN
6ec5872391 feat: add DISABLE_NOTIFICATIONS_PAGE feature flag 2024-02-07 11:47:44 +00:00
Ali BARIN
a26cf932a1 chore(devcontainer): upgrade node to 20 2024-02-07 11:46:12 +00:00
Ali BARIN
38a3e3ab9f Merge pull request #1570 from automatisch/prevent-public-registrations
fix: prevent registration on non-cloud
2024-01-30 14:11:05 +01:00
Ali BARIN
32b17c1418 fix: prevent registration on non-cloud 2024-01-30 13:03:52 +00:00
Ömer Faruk Aydın
44aa6a1579 Merge pull request #1569 from automatisch/compile-email
fix: Adjust dirname for compile email helper
2024-01-29 13:05:58 +01:00
Faruk AYDIN
2369aacd2a fix: Adjust dirname for compile email helper 2024-01-29 12:48:21 +01:00
Ömer Faruk Aydın
7dafc6364b Merge pull request #1552 from automatisch/dependabot/npm_and_yarn/vite-3.2.8
chore(deps): Bump vite from 3.2.7 to 3.2.8
2024-01-29 12:32:10 +01:00
Ömer Faruk Aydın
3d25fa0aeb Merge branch 'main' into dependabot/npm_and_yarn/vite-3.2.8 2024-01-29 11:14:49 +01:00
Rıdvan Akca
e2c5d843df feat(mailerlite): add campaign sent trigger 2024-01-26 18:47:24 +03:00
Rıdvan Akca
557ea55ddf feat(mailerlite): add subscriber unsubscribed trigger 2024-01-26 18:36:49 +03:00
Rıdvan Akca
1591a4edd2 feat(mailerlite): add subscriber created trigger 2024-01-26 18:29:39 +03:00
Rıdvan Akca
b30b5024a8 feat(mailerlite): add spam complaint trigger 2024-01-26 18:22:00 +03:00
Rıdvan Akca
8ef2bd3b8d feat(mailerlite): add mailerlite integration 2024-01-26 13:44:34 +03:00
Ali BARIN
0297b0f296 Merge pull request #1559 from automatisch/base64-to-text
feat(formatter): add base64 to string action
2024-01-26 10:56:54 +01:00
Rıdvan Akca
4c7d09c3d8 feat(formatter): add base64 to string action 2024-01-26 12:41:05 +03:00
Ali BARIN
48a74826e8 Merge pull request #1557 from automatisch/text-to-base64
feat(formatter): add string to base64 action
2024-01-25 16:56:15 +01:00
Rıdvan Akca
ef34068ac4 feat(formatter): add string to base64 action 2024-01-25 18:52:44 +03:00
dependabot[bot]
3987a8db77 chore(deps): Bump vite from 3.2.7 to 3.2.8
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.2.7 to 3.2.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v3.2.8/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.2.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 22:40:35 +00:00
Rıdvan Akca
c413ab030b feat(airtable): add airtable integration 2024-01-19 17:20:56 +03:00
Rıdvan Akca
0f39007f92 feat(ynab): add new transactions trigger 2024-01-18 18:08:42 +03:00
Rıdvan Akca
ab811daba7 feat(ynab): add goal completed trigger 2024-01-18 18:00:48 +03:00
Rıdvan Akca
1428bf8ffa feat(ynab): add category overspent trigger 2024-01-18 17:31:53 +03:00
Rıdvan Akca
53f7f38e23 feat(ynab): add low account balance trigger 2024-01-18 16:00:52 +03:00
Rıdvan Akca
ce6ad9e0d3 feat(ynab): add you need a budget app integration 2024-01-18 15:54:20 +03:00
Rıdvan Akca
17a0c6123a feat(vtiger-crm): add new todos trigger 2024-01-17 10:47:52 +03:00
Rıdvan Akca
10edc5a8ad feat(vtiger-crm): add new opportunities trigger 2024-01-16 18:09:05 +03:00
Rıdvan Akca
bdf07d6bd5 feat(vtiger-crm): add new leads trigger 2024-01-16 18:05:13 +03:00
Rıdvan Akca
10ff65e71a feat(vtiger-crm): add new invoices trigger 2024-01-16 18:00:41 +03:00
Rıdvan Akca
9395097fda feat(vtiger-crm): add new contacts trigger 2024-01-16 17:55:48 +03:00
Rıdvan Akca
47eb0e00e3 feat(vtiger-crm): add new cases trigger 2024-01-16 17:48:24 +03:00
Rıdvan Akca
57d5f34ac5 feat(vtiger-crm): add vtiger crm integration 2024-01-16 17:42:34 +03:00
Rıdvan Akca
06b040412a feat(google-tasks): add new completed tasks trigger 2024-01-16 17:30:25 +03:00
Rıdvan Akca
cab040c74a feat(google-tasks): add new tasks trigger 2024-01-16 17:25:25 +03:00
Rıdvan Akca
21706a7d15 feat(google-tasks): add new task lists trigger 2024-01-16 17:17:24 +03:00
Rıdvan Akca
22e4b8aaeb feat(google-tasks): add create task list action 2024-01-16 17:10:27 +03:00
Rıdvan Akca
bd43a6021a feat(google-tasks): add create task action 2024-01-16 16:39:38 +03:00
Rıdvan Akca
a90b58b6db feat(google-tasks): add update task action 2024-01-16 16:33:41 +03:00
Rıdvan Akca
92a9b096ec feat(google-tasks): add find task action 2024-01-16 16:27:45 +03:00
Rıdvan Akca
7a6aa99840 feat(google-tasks): add google tasks integration 2024-01-16 13:55:03 +03:00
Rıdvan Akca
5657f0d793 feat(disqus): add new comments trigger 2024-01-16 13:40:00 +03:00
Rıdvan Akca
798529007e feat(disqus): add disqus integration 2024-01-16 13:23:26 +03:00
Ömer Faruk Aydın
953c5a5b5b Merge pull request #1540 from automatisch/authentication-tests
feat: Add tests for authentication helper
2024-01-15 16:10:36 +01:00
Ömer Faruk Aydın
4313265c00 Merge pull request #1541 from automatisch/remove-cli-from
chore: Remove cli package from linter and build scripts
2024-01-15 16:10:24 +01:00
Faruk AYDIN
9405f267ba chore: Remove build:watch script 2024-01-15 16:06:28 +01:00
Faruk AYDIN
1d29238199 chore: Remove cli package from linter and build scripts 2024-01-15 15:33:21 +01:00
Faruk AYDIN
c5bf66f462 chore: Remove redundant import of authentication rule 2024-01-15 15:31:20 +01:00
Faruk AYDIN
e6180bdfaa chore: No need to export authentication options 2024-01-15 15:31:00 +01:00
Faruk AYDIN
55c391afc8 chore: Remove authentication cases from individual tests 2024-01-15 15:27:30 +01:00
Faruk AYDIN
782fa67320 feat: Add tests for authentication helper 2024-01-15 15:21:04 +01:00
Ömer Faruk Aydın
1e3ab75bb7 Merge pull request #1538 from automatisch/remove-types-package
chore: Remove types package
2024-01-15 13:57:01 +01:00
Faruk AYDIN
5f6dd12a73 chore: Remove types package from web dependencies 2024-01-15 13:41:54 +01:00
Faruk AYDIN
d18c06d2c4 chore: Remove types package 2024-01-15 13:37:58 +01:00
Ömer Faruk Aydın
baf99a9cfe Merge pull request #1537 from automatisch/web/types
chore: Use types from the web package
2024-01-15 13:37:43 +01:00
Faruk AYDIN
159931a6ea chore: Use types from the web package 2024-01-15 13:30:48 +01:00
Ömer Faruk Aydın
7831f2925b Merge pull request #1536 from automatisch/docs/remove-typescript
Use JS for the documentation examples
2024-01-15 13:17:48 +01:00
Faruk AYDIN
8fcb7840de docs: Convert code examples to JS 2024-01-15 13:13:48 +01:00
Faruk AYDIN
9ece9461dc docs: Convert all file imports to ES modules 2024-01-15 13:10:26 +01:00
Faruk AYDIN
b304acaaba docs: Use .js file extension 2024-01-15 13:02:06 +01:00
Faruk AYDIN
5a1960609a docs: Use JS highlighter instead of TS 2024-01-15 12:56:43 +01:00
Faruk AYDIN
476aa6e3aa docs: Remove imports of automatisch types 2024-01-15 12:55:55 +01:00
Ömer Faruk Aydın
aa76007fd0 Merge pull request #1533 from automatisch/remove-cli
chore: Remove cli package
2024-01-14 21:06:46 +01:00
Faruk AYDIN
17a8813c4b chore: Remove build step from CI for cli 2024-01-14 20:13:23 +01:00
Faruk AYDIN
fe79fc9003 chore: Remove cli package 2024-01-14 20:10:23 +01:00
Ömer Faruk Aydın
ac8649ac18 Merge pull request #1532 from automatisch/seed-user
fix: Exit process after creating seed user
2024-01-13 03:07:05 +01:00
Faruk AYDIN
817db026b1 fix: Exit process after creating database and user 2024-01-13 02:59:00 +01:00
Faruk AYDIN
01ef97949b feat: Convert migration file names if there is a table 2024-01-13 02:58:28 +01:00
Faruk AYDIN
9e151051a8 fix: Exit process after creating seed user 2024-01-13 02:55:42 +01:00
Ömer Faruk Aydın
0feab23eb6 Merge pull request #1531 from automatisch/dockerfile-cloud
fix: Remove redundant branch tag for dockerfile cloud
2024-01-12 18:12:48 +01:00
Faruk AYDIN
8957f83939 fix: Remove redundant branch tag for dockerfile cloud 2024-01-12 18:08:55 +01:00
Ömer Faruk Aydın
3bf2bc94f3 Merge pull request #1517 from automatisch/models-js
feat: Convert model files to JS
2024-01-12 18:05:44 +01:00
Faruk AYDIN
8c3d5f1f4b feat: Convert old TS migration names to JS names 2024-01-12 17:50:09 +01:00
Faruk AYDIN
124e6e0811 feat: Execute db:migrate and db:seed:user for main instance 2024-01-12 17:30:05 +01:00
Faruk AYDIN
54d9d17d14 chore: Make dockerfile cloud work with main branch 2024-01-12 17:24:29 +01:00
Faruk AYDIN
62bdb7fb6d fix: Import statements of removed subscription job 2024-01-12 16:44:56 +01:00
Faruk AYDIN
af6574fdf1 feat: Do not build web when it's a worker instance 2024-01-12 16:44:44 +01:00
Faruk AYDIN
115a993cd2 feat: Convert cloud dockerfile to work without build step 2024-01-12 16:33:58 +01:00
Faruk AYDIN
188b6c2fe5 chore: Remove @automatisch/web from backend package 2024-01-12 16:10:37 +01:00
Faruk AYDIN
99adb2ceda feat: Update node version to 18 for Dockerfiles 2024-01-12 15:17:09 +01:00
Faruk AYDIN
6344a3bcef feat: Remove jest from dev dependencies 2024-01-12 14:23:03 +01:00
Faruk AYDIN
f62c17de0b fix: Remove redundant only statement from backend tests 2024-01-12 14:22:19 +01:00
Faruk AYDIN
9d269b8111 chore: Change CI node version to 18 2024-01-12 14:19:29 +01:00
Faruk AYDIN
49b26a9640 chore: Remove tsconfig file for backend package 2024-01-12 14:15:39 +01:00
Faruk AYDIN
dddb79eeb2 chore: Remove ts-jest from dev dependencies 2024-01-12 14:14:30 +01:00
Faruk AYDIN
b0909ecb98 chore: Change main and files of backend package 2024-01-12 14:13:45 +01:00
Faruk AYDIN
ec63ce0532 chore: Remove sinon from dependencies 2024-01-12 14:13:26 +01:00
Faruk AYDIN
1eb03e3afb chore: Remove all dev dependencies for types 2024-01-12 14:10:58 +01:00
Faruk AYDIN
26d906f1b7 chore: Remove ts-node and ts-node-dev libraries 2024-01-12 14:09:00 +01:00
Faruk AYDIN
af9ceac0b4 feat: Use vitest instead of jest for ESM compatibility 2024-01-12 14:07:59 +01:00
Faruk AYDIN
911159a14f chore: Update NodeJS from 16.15 to 18.19 to use vitest 2024-01-11 19:37:00 +01:00
Faruk AYDIN
6a639e4ac9 chore: Use ES module path to import auth files 2024-01-09 12:51:41 +01:00
Faruk AYDIN
c4a6c86a69 feat: Make web app path static for the backend 2024-01-08 18:36:36 +01:00
Faruk AYDIN
d2bac9d8d1 chore: Adjust cli package to use JS for linter 2024-01-08 17:23:06 +01:00
Faruk AYDIN
758aa50550 feat: Change playwright test setup for the backend 2024-01-08 17:20:03 +01:00
Faruk AYDIN
1af887cee7 chore: Remove backend build step from cli build 2024-01-08 17:11:26 +01:00
Faruk AYDIN
34b115c694 feat: Convert cli files to JS 2024-01-08 17:08:20 +01:00
Faruk AYDIN
8e4935409f feat: Add start worker CI step for the backend package 2024-01-08 16:40:20 +01:00
Faruk AYDIN
ca32d221c4 fix: Remove redundant lerna bootstrap command 2024-01-08 16:35:04 +01:00
Faruk AYDIN
e2de1fe038 feat: Add webhook secret key to CI step 2024-01-08 16:26:25 +01:00
Faruk AYDIN
80179062db feat: Add sample encryption key to CI step 2024-01-08 16:15:47 +01:00
Faruk AYDIN
7143620d25 feat: Remove root files for worker, server, logger and database 2024-01-08 16:09:58 +01:00
Faruk AYDIN
a0e51e2a7e feat: Change CI configuration to start backend instead of build 2024-01-08 16:02:48 +01:00
Faruk AYDIN
53dbd01cb1 feat: Adjust start command to work without dist folder 2024-01-08 15:55:53 +01:00
Faruk AYDIN
3607c16fd1 chore: Remove build:watch script from backend 2024-01-08 15:55:29 +01:00
Faruk AYDIN
4dfdd01295 chore: Remove build and related scripts from backend 2024-01-08 15:54:32 +01:00
Faruk AYDIN
8983a3c581 chore: Remove types folder of the backend package 2024-01-08 15:53:41 +01:00
Faruk AYDIN
9cddef9108 fix: Adjust migrations folder for new JS structure 2024-01-08 14:49:30 +01:00
Faruk AYDIN
3dbea953a7 chore: Remove tsc command from build script 2024-01-08 14:49:14 +01:00
Faruk AYDIN
962bbc04b5 fix: Change require.resolve to work with ESM 2024-01-08 12:25:21 +01:00
Faruk AYDIN
0804026d74 fix: Correct dirname for the app config 2024-01-08 12:24:53 +01:00
Faruk AYDIN
879aa1f9f8 fix: Eslint offenses for JS files 2024-01-07 20:09:36 +01:00
Faruk AYDIN
9ffe2c14df chore: Exclude apps folder from type roots 2024-01-07 19:38:07 +01:00
Faruk AYDIN
f0d2f07193 feat: Convert package scripts to work with JS 2024-01-07 19:36:44 +01:00
Faruk AYDIN
ccf5928262 feat: Adjust eslint configuration to work with JS 2024-01-07 19:33:18 +01:00
Faruk AYDIN
b2f8634008 chore: Use ES modules for backend app 2024-01-05 19:08:04 +01:00
Faruk AYDIN
43dba351c3 feat: Convert all app files to JS 2024-01-05 17:44:21 +01:00
Faruk AYDIN
b95478b635 chore: Use imports as ES modules 2024-01-04 22:24:42 +01:00
Faruk AYDIN
523f8a8951 feat: Convert app, server, worker ts files to JS 2024-01-04 21:47:34 +01:00
Faruk AYDIN
0f71924d06 feat: Convert migration files to JS 2024-01-04 21:44:40 +01:00
Faruk AYDIN
6d1bfc0be0 fix: Remove response data types to get rid of ts errors 2024-01-04 21:17:15 +01:00
Faruk AYDIN
b0f53268f6 feat: Convert factories files to JS 2024-01-04 21:10:42 +01:00
Faruk AYDIN
75f5db23df feat: Conveert bin folder to use JS files 2024-01-04 21:07:19 +01:00
Faruk AYDIN
85141812d9 feat: Convert helpers to use JS files 2024-01-04 19:55:41 +01:00
Faruk AYDIN
8819ddefa7 feat: Convert model files to JS 2024-01-04 19:27:13 +01:00
Ömer Faruk Aydın
b693c12500 Merge pull request #1515 from automatisch/queues-js
feat: Convert all queues folder to js files
2024-01-04 18:30:42 +01:00
Faruk AYDIN
cbe3db8187 feat: Convert all queues folder to js files 2024-01-04 18:20:08 +01:00
Ömer Faruk Aydın
7bccbc9471 Merge pull request #1514 from automatisch/root-resolvers
feat: Convert root query and mutation resolvers to js
2024-01-04 18:19:29 +01:00
Faruk AYDIN
a452520f1a feat: Convert root query and mutation resolvers to js 2024-01-04 18:12:27 +01:00
Ömer Faruk Aydın
a331b34b49 Merge pull request #1513 from automatisch/mutations-js
feat: Convert all mutation files to js
2024-01-04 18:11:48 +01:00
Faruk AYDIN
8d6f0f8e9e feat: Convert all mutation files to js 2024-01-04 18:04:54 +01:00
Ömer Faruk Aydın
47dd5a1949 Merge pull request #1512 from automatisch/queries-js
feat: Convert all query files to JS
2024-01-04 18:04:21 +01:00
Faruk AYDIN
387f8fd44c feat: Convert all query files to JS 2024-01-04 17:55:29 +01:00
Ömer Faruk Aydın
b69b1f6f67 Merge pull request #1511 from automatisch/workers-js
feat: Convert workers to use js files
2024-01-04 17:55:01 +01:00
Faruk AYDIN
d1427ffd54 feat: Convert workers to use js files 2024-01-04 17:48:52 +01:00
Ömer Faruk Aydın
00c876dd93 Merge pull request #1510 from automatisch/routes-js
feat: Convert routes folder to the js files
2024-01-04 17:48:26 +01:00
Faruk AYDIN
9d1aa9e59a feat: Convert routes folder to the js files 2024-01-04 17:41:52 +01:00
Ömer Faruk Aydın
aceebba99a Merge pull request #1509 from automatisch/errors-folder-js
feat: Convert ts files to js files for errors directory
2024-01-04 17:40:59 +01:00
Faruk AYDIN
7d6a8c4607 feat: Convert service folder to js files 2024-01-04 17:33:03 +01:00
Faruk AYDIN
5fd90355ae feat: Convert error handler ts file to js file 2024-01-04 17:17:25 +01:00
Faruk AYDIN
9b01a2a4da feat: Convert ts files to js files for errors directory 2024-01-04 17:14:28 +01:00
Ömer Faruk Aydın
a2986d70a0 Merge pull request #1508 from automatisch/controllers-js
feat: Convert ts files to js files for controllers
2024-01-04 17:13:39 +01:00
Faruk AYDIN
5dfa38ca99 feat: Convert ts files to js files for controllers 2024-01-04 17:06:19 +01:00
Ömer Faruk Aydın
157c6812cc Merge pull request #1507 from automatisch/config-folder-js
feat: Convert ts files to js files for config folder
2024-01-04 17:05:52 +01:00
Faruk AYDIN
215ff4b74a chore: Add eslint configuration specific to backend 2024-01-04 16:56:29 +01:00
Faruk AYDIN
ca7b8b865a feat: Convert ts files to js files for config folder 2024-01-04 16:52:52 +01:00
Ömer Faruk Aydın
fd0b12f6a1 Merge pull request #1506 from automatisch/allow-js
chore: Allow JS files for the backend package
2024-01-04 16:50:19 +01:00
Faruk AYDIN
2f3b739f9e chore: Allow JS files for the backend package 2024-01-04 16:34:55 +01:00
Ömer Faruk Aydın
3255ddca63 Merge pull request #1503 from automatisch/feature/helix-app
feat: Implement Helix app with new chat action
2024-01-02 21:20:50 +01:00
Faruk AYDIN
b5460712e6 feat: Implement Helix app with new chat action 2024-01-02 19:06:07 +01:00
Ömer Faruk Aydın
6f7dcc2b6e Merge pull request #1498 from automatisch/AUT-557
feat(self-hosted-llm): add send prompt and send chat prompt actions
2024-01-02 14:27:46 +01:00
Ömer Faruk Aydın
70d4800cb1 Merge pull request #1497 from automatisch/AUT-554
feat(azure-openai): add send prompt action
2024-01-02 14:27:20 +01:00
Ali BARIN
a8b85cdb0d feat(self-hosted-llm): add send prompt and send chat prompt actions 2023-12-20 16:18:39 +00:00
Ali BARIN
fe10523972 test: update first app as azure-openai 2023-12-20 14:51:30 +00:00
Ali BARIN
c975a56245 feat(azure-openai): add send prompt action 2023-12-20 14:48:33 +00:00
QAComet
d070e976b0 test(e2e-tests): run only on relevant changes in pull requests (#1495) 2023-12-15 18:51:58 +01:00
Ali BARIN
0caf6bfabb Merge pull request #1494 from automatisch/aut-551
feat: hide notifications page in mation instances
2023-12-15 18:00:08 +01:00
Ali BARIN
b842d7938f feat: hide notifications page in mation instances 2023-12-15 16:28:41 +00:00
Ali BARIN
cebbf84375 Merge pull request #1491 from automatisch/aut-548
feat: apply conditional mation styling
2023-12-15 11:40:12 +01:00
Ali BARIN
8608431490 feat: add conditional mation logo by default 2023-12-14 15:59:37 +00:00
Ali BARIN
78ba18b176 feat: apply conditional mation styling 2023-12-14 14:28:07 +00:00
Ali BARIN
f8c30c8526 Merge pull request #1475 from automatisch/aut-547
feat(queries/getAutomatischInfo): add mation
2023-12-14 11:15:35 +01:00
QAComet
693c9b85a5 test: run UI workflow only on changes outside of backend apps (#1462) 2023-12-14 10:45:15 +01:00
Ali BARIN
70bb7defd1 feat(queries/getAutomatischInfo): add mation 2023-12-12 17:37:27 +00:00
Ali BARIN
160377ca31 Merge pull request #1473 from automatisch/aut-545
docs(salesforce): update connection steps
2023-12-12 18:17:07 +01:00
Ali BARIN
2c0ce77a4e docs(salesforce): update connection steps 2023-12-12 17:08:15 +00:00
Ali BARIN
77fbb0c9da Merge pull request #1470 from automatisch/aut-538
fix(odoo): introduce secure connection option
2023-12-11 16:44:11 +01:00
Ali BARIN
5971425d23 fix(odoo): introduce secure connection option 2023-12-11 15:36:50 +00:00
Ali BARIN
aefff5c861 Merge pull request #1449 from automatisch/AUT-414
feat(zendesk): add new users trigger
2023-11-30 12:55:02 +01:00
Rıdvan Akca
a296b5e645 feat(zendesk): add new users trigger 2023-11-30 14:42:25 +03:00
Ali BARIN
eb486a3a07 Merge pull request #1456 from automatisch/AUT-431
feat(notion): add updated database items trigger
2023-11-29 16:54:45 +01:00
Ali BARIN
062b8521ba Merge pull request #1454 from automatisch/AUT-418
feat(zendesk): add delete user action
2023-11-29 14:37:42 +01:00
Rıdvan Akca
1b07f3195a feat(zendesk): add delete user action 2023-11-29 16:30:05 +03:00
Rıdvan Akca
dfa7d4cb8d feat(notion): add updated database items trigger 2023-11-29 16:18:38 +03:00
Ali BARIN
a14dd9666c Merge pull request #1451 from automatisch/AUT-415
feat(zendesk): add create user action
2023-11-29 14:10:46 +01:00
Rıdvan Akca
b07bd4374f feat(zendesk): add create user action 2023-11-29 16:01:55 +03:00
Ali BARIN
b4e12b0ea8 Merge pull request #1448 from automatisch/AUT-413
feat(zendesk): add delete ticket action
2023-11-29 13:35:58 +01:00
Ali BARIN
ee5c17bb85 Merge pull request #1447 from automatisch/AUT-412
feat(zendesk): add find ticket action
2023-11-29 13:32:29 +01:00
Rıdvan Akca
16c9d3400c feat(zendesk): add delete ticket action 2023-11-29 14:27:54 +03:00
Rıdvan Akca
4dd994348d feat(zendesk): add find ticket action 2023-11-29 13:17:04 +03:00
Ali BARIN
f0cbfafc24 Merge pull request #1443 from automatisch/AUT-411
feat(zendesk): add update ticket action
2023-11-28 15:02:21 +01:00
Ali BARIN
d3f38f5488 Merge pull request #1455 from automatisch/rename-discord-scheduled-event-action
feat(discord/create-scheduled-event): remove new prefix
2023-11-28 13:14:25 +01:00
Ali BARIN
737090a67a feat(discord/create-scheduled-event): remove new prefix 2023-11-28 11:56:36 +00:00
Ali BARIN
4f66a4d090 Merge pull request #1446 from automatisch/AUT-465
feat: embed external fonts used in the codebase
2023-11-28 12:47:32 +01:00
Rıdvan Akca
df54f909c1 feat(zendesk): add update ticket action 2023-11-28 14:40:26 +03:00
Ali BARIN
772b195eca Merge pull request #1441 from automatisch/AUT-409
feat(zendesk): add new tickets trigger
2023-11-28 11:52:22 +01:00
Ali BARIN
87866e34ed Merge pull request #1450 from felifluid/feature/action-discord-create-event
feat(discord): add createEvent action
2023-11-27 18:08:20 +01:00
Ali BARIN
c98ac05097 feat(discord/create-new-scheduled-event): rework fields 2023-11-27 17:01:40 +00:00
DerKlobold
36f991b6f9 feat: discord createNewEvent action in docs
adds a simple entry in the docs for the createNewEvent action
2023-11-26 18:59:01 +01:00
DerKlobold
a81c5164fc feat: discord createNewEvent action
adds the action of creating a new event on a discord server. provides some sort of logic-check to make sure the correct fields have been filled, depending of the type given.
2023-11-26 18:58:09 +01:00
DerKlobold
5942482690 feat: list discord voice channel dynamic data
adds a helper function to provide dynamic data of voice and stage channels of a discord server
2023-11-26 18:56:50 +01:00
Rıdvan Akca
4f538ca2fc feat(zendesk): add new tickets trigger 2023-11-24 15:22:35 +03:00
Kasia
9f2281a3e2 feat: embed external fonts used in the codebase 2023-11-24 12:20:28 +00:00
Ali BARIN
b0d2f28c78 Merge pull request #1444 from automatisch/AUT-487
fix(zendesk): get after_cursor from meta field
2023-11-23 13:42:01 +01:00
Rıdvan Akca
d4380a4426 fix(zendesk): get after_cursor from meta field 2023-11-23 15:17:11 +03:00
Ali BARIN
ae2738d4cc Merge pull request #1435 from mohammedzaher/removebg
feat(removebg): add `remove image background` action
2023-11-22 16:28:55 +01:00
Ali BARIN
aa5ae028b2 feat(removebg/remove-image-background): update wording 2023-11-22 15:01:02 +00:00
Mohammed Zaher
7ab8c76aa0 docs(removebg): Add Remove image background action 2023-11-16 15:43:22 +00:00
Mohammed Zaher
8075b65e14 feat(removebg): Add Remove image background action 2023-11-16 15:39:46 +00:00
Ali BARIN
073ce3bf1b Merge pull request #1433 from automatisch/AUT-445
feat(reddit): provide user-agent header
2023-11-14 17:25:29 +01:00
Rıdvan Akca
80fcbfe01b feat(reddit): provide user-agent header 2023-11-14 14:08:01 +03:00
Ali BARIN
dba0041e5f Merge pull request #1430 from automatisch/dependabot/npm_and_yarn/axios-1.6.0
chore(deps): bump axios from 0.24.0 to 1.6.0
2023-11-13 17:56:57 +01:00
Ali BARIN
b8a44afd25 refactor: re-type interceptors for axios@1.6.0 2023-11-13 16:14:03 +00:00
dependabot[bot]
e2445bf585 chore(deps): bump axios from 0.24.0 to 1.6.0
Bumps [axios](https://github.com/axios/axios) from 0.24.0 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.24.0...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 16:14:03 +00:00
Ali BARIN
50706c524e Merge pull request #1431 from QAComet/qacomet/admin-roles-loader
test: add page title test ids to await and await mounting loader components
2023-11-13 10:52:49 +01:00
QAComet
11e0cb9398 test: add page title test ids to await and await mounting loader components 2023-11-12 16:46:38 -07:00
Ali BARIN
1e82e40802 Merge pull request #1428 from automatisch/AUT-398
feat(reddit): add create link post action
2023-11-10 16:27:25 +01:00
Rıdvan Akca
ff00644e62 feat(reddit): add create link post action 2023-11-10 18:21:04 +03:00
Ali BARIN
97bcd3792b Merge pull request #1427 from automatisch/AUT-397
feat(reddit): add new posts matching search trigger
2023-11-10 16:03:35 +01:00
Rıdvan Akca
5738a09771 feat(reddit): add new posts matching search trigger 2023-11-10 16:50:26 +03:00
kattoczko
c461cc4878 feat: introduce application auth clients tab in the admin panel (#1423)
* feat: introduce application auth clients tab in the admin panel

* feat: introduce improvements

* feat: use loading state returned from useMutation

* feat: use error returned by useMutation hook
2023-11-10 14:09:23 +01:00
Ali BARIN
878fab347a Merge pull request #1426 from automatisch/AUT-396
feat(reddit): add reddit integration
2023-11-10 11:16:46 +01:00
Rıdvan Akca
354b331b08 feat(reddit): add reddit integration 2023-11-10 12:51:52 +03:00
Ali BARIN
3b9aadb90f Merge pull request #1421 from automatisch/AUT-392
feat(xero): add new payments trigger
2023-11-09 16:30:42 +01:00
Ali BARIN
7193d018ce Merge pull request #1425 from automatisch/add-sf-execute-query-in-docs
docs(salesforce): list execute query in actions
2023-11-09 16:09:43 +01:00
Ali BARIN
d5cea034ac docs(salesforce): list execute query in actions 2023-11-09 15:02:58 +00:00
Ömer Faruk Aydın
a2760c10b3 Merge pull request #1422 from automatisch/release/0.10.0
Release v0.10.0
2023-11-09 16:12:19 +03:00
Faruk AYDIN
5492fae213 Release v0.10.0 2023-11-09 15:48:33 +03:00
Faruk AYDIN
490a23ae0a chore: Update version to 0.10.0 in Dockerfiles 2023-11-09 15:46:42 +03:00
Rıdvan Akca
3593cf3808 feat(xero): add new payments trigger 2023-11-09 11:57:47 +03:00
Ali BARIN
6ea7400ff4 Merge pull request #1419 from automatisch/AUT-391
feat(xero): add new bank transactions trigger
2023-11-08 17:07:14 +01:00
Rıdvan Akca
1a4ba35ef4 feat(xero): add new bank transactions trigger 2023-11-08 18:59:50 +03:00
Ali BARIN
2d52cab693 fix: let permitted users delete others' flows (#1417) 2023-11-08 16:55:30 +01:00
Ömer Faruk Aydın
e1fac78aba Merge pull request #1412 from automatisch/aut-311
fix: let permitted users create step in not-owned flows
2023-11-08 17:55:53 +03:00
Ali BARIN
e79fc9cae4 Merge pull request #1418 from automatisch/AUT-390
feat(xero): add xero integration
2023-11-08 15:37:03 +01:00
Rıdvan Akca
9200e1011b feat(xero): add xero integration 2023-11-08 17:03:33 +03:00
moaaz
373d29eeab docs(carbone): Add add-template actions 2023-11-08 11:27:17 +01:00
moaaz
bc337c588a feat(carbone): add add-template action 2023-11-08 11:27:17 +01:00
QAComet
112b05f7ad test: add wait for roles loader to detach 2023-11-08 10:39:02 +01:00
Moaaz Elsayed
9f84af95f6 docs(removebg): fix connection link (#1416) 2023-11-08 10:03:34 +01:00
Ali BARIN
0873cfa997 fix: let permitted users create step in not-owned flows 2023-11-07 15:51:24 +00:00
Ali BARIN
94d7162782 docs(carbone): list in available apps (#1411) 2023-11-07 15:30:47 +01:00
Mohammed Zaher
5db62679fa feat(removebg): add remove-bg integration (#1406)
* feat(remove-bg): add remove-bg integration

* feat(removebg): update name and icon

* docs(removebg): update name and icon

* docs: add remove.bg in available apps

* docs(removebg): correct path

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-11-07 13:52:55 +01:00
Moaaz Elsayed
a4a0102679 feat(carbone): add carbone integration (#1405)
* feat(carbone): add carbone integration

* Update list-apps.spec.js to ensure Carbone is the first application in the alphabetically sorted list

Previously, the test expected DeepL to be the first in the list. Now, this change ensures that Carbone will take precedence as it will come first in the alphabetical order.
2023-11-07 13:00:22 +01:00
Rıdvan Akca
2afcfbb4bc feat(ghost): add new post published trigger (#1403) 2023-11-07 12:55:35 +01:00
Rıdvan Akca
f0e8f070a8 feat(ghost): add ghost integration (#1401) 2023-11-07 11:30:26 +01:00
Rıdvan Akca
c42374e031 feat(notion/create-page): support variables in parentPageId field (#1410) 2023-11-07 09:33:57 +01:00
Rıdvan Akca
be610c7fa9 feat(zendesk): add create ticket action 2023-11-06 16:02:26 +01:00
Rıdvan Akca
4ff824663b test: skip admin role is not deletable 2023-11-06 14:21:19 +01:00
QAComet
1581b5ac0a test: write tests for role management (#1396) 2023-11-06 10:35:20 +01:00
Ömer Faruk Aydın
5fb48ed54b Merge pull request #1402 from automatisch/tests/get-flow
test: Implement graphQL getFlow query tests
2023-10-31 16:12:26 +01:00
Faruk AYDIN
903e9e6093 test: Implement graphQL getFlow query tests 2023-10-31 15:57:44 +01:00
Faruk AYDIN
d30e491817 test: Delete formattedData from connection factory before persisting 2023-10-31 15:57:22 +01:00
Faruk AYDIN
aa727e3260 test: Adjust step factory to assign correct appKey 2023-10-31 15:56:49 +01:00
Ömer Faruk Aydın
1cad3a7149 Merge pull request #1398 from automatisch/tests/disable-typescript
test: Disable ts check for test files
2023-10-31 12:08:30 +01:00
Ali BARIN
3b7f6740bb chore: exclude test files from eslint 2023-10-31 11:35:53 +01:00
Ali BARIN
2febc5efad fix(mutations/delete-flow): cover incomplete trigger 2023-10-30 15:19:31 +01:00
Faruk AYDIN
903616bef6 test: Disable ts check for test files 2023-10-30 14:25:22 +01:00
Rıdvan Akca
c944193fb4 feat(trello): add create card action 2023-10-30 11:48:19 +01:00
Ömer Faruk Aydın
4f2155ea63 Merge pull request #1394 from automatisch/tests/coverage
test: Show coverage for graphQL queries folder
2023-10-30 10:23:42 +01:00
Faruk AYDIN
4bda1edda7 test: Show coverage for graphQL queries folder 2023-10-29 13:13:01 +01:00
QAComet
1a55cc8604 test: update snackbar with variant and data-test attributes 2023-10-27 19:48:40 +02:00
Ali BARIN
bf7ab475ee feat: unregister webhook upon deleting flow 2023-10-27 19:19:13 +02:00
Ömer Faruk Aydın
2f39efb935 Merge pull request #1381 from automatisch/add-filters-in-get-executions-query
feat(queries/get-executions): add filter support
2023-10-26 17:56:10 +02:00
Ali BARIN
9f8eb985e4 refactor: assert entry dates as string 2023-10-26 15:43:11 +00:00
Ali BARIN
3549fef71c feat(ExecutionRow): use createdAt instead of updatedAt 2023-10-26 15:43:10 +00:00
Ali BARIN
2cfa64c2a3 test(queries/get-executions): use createdAt in filter test cases 2023-10-26 15:43:08 +00:00
Ali BARIN
7245a0a599 refactor(queries/get-executions): use createdAt in filters 2023-10-26 15:29:28 +00:00
Ali BARIN
0633da3244 fix(mutations/duplicate-flow): correct webhook path 2023-10-26 17:21:28 +02:00
Faruk AYDIN
96341976f5 test: Add graphQL query test for getExecutions 2023-10-26 17:19:37 +02:00
Faruk AYDIN
9abfaec4d5 test: Adjust permission factory to pass all values 2023-10-26 17:17:12 +02:00
Faruk AYDIN
945c52dd6b test: Add createdAt and updatedAt defaultst to execution and flow 2023-10-26 17:16:42 +02:00
Faruk AYDIN
6567d24760 test: Adjust app key of step depending on type 2023-10-26 17:15:50 +02:00
Faruk AYDIN
ffaf9b6e0c chore: Add date types to IFlow and IExecution 2023-10-26 17:15:10 +02:00
QAComet
463e6908b1 test: write tests for user management (#1316)
* chore: add data-test attributes

* test: add github connection test, add applications modal

* test: write tests for user management
2023-10-26 15:12:37 +02:00
Ali BARIN
e185ceb385 fix(queries/get-executions): recover flow and steps relations 2023-10-26 13:52:20 +02:00
Ali BARIN
1b21bbe5b7 feat(queries/get-executions): accept timestamp instead of ISO datetime 2023-10-26 13:52:20 +02:00
Ali BARIN
14b7053ed8 feat: add updated_at index in executions 2023-10-26 13:52:20 +02:00
Ali BARIN
2760526def feat: add flow_id index in executions 2023-10-26 13:52:20 +02:00
Ali BARIN
d851db22d0 feat(queries/get-executions): add updatedAt filter support 2023-10-26 13:52:20 +02:00
Ali BARIN
2fa360e400 feat(queries/get-executions): add status filter support 2023-10-26 13:52:20 +02:00
Ali BARIN
e4eb146169 feat(queries/get-executions): add flowId filter support 2023-10-26 13:52:20 +02:00
Moaaz Elsayed
86611453b5 feat(zendesk): add zendesk integration (#1385)
* feat(zendesk): add zendesk integration

* Add Zendesk connection documentation

* docs(zendesk/connection): add missing steps

* feat(zendesk): add more auth scopes for planned triggers/actions

* fix(zendesk): fix instanceUrl

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-10-26 12:47:13 +02:00
dependabot[bot]
65f9d1b6b9 chore(deps): bump crypto-js from 4.1.1 to 4.2.0
Bumps [crypto-js](https://github.com/brix/crypto-js) from 4.1.1 to 4.2.0.
- [Commits](https://github.com/brix/crypto-js/compare/4.1.1...4.2.0)

---
updated-dependencies:
- dependency-name: crypto-js
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 10:00:04 +02:00
QAComet
2fceaf2cf4 test: fix flakiness in GH connection test case (#1383) 2023-10-25 11:04:04 +02:00
Ömer Faruk Aydın
d82b50fcdb Merge pull request #1382 from automatisch/fix/delete-current-user
fix: Guard lowercase email for delete user operation
2023-10-25 01:17:52 +02:00
Faruk AYDIN
ab6e49bf4f fix: Guard lowercase email for delete user operation 2023-10-25 01:00:43 +02:00
Rıdvan Akca
ee90422f56 feat(trello): add trello integration (#1380) 2023-10-24 15:13:08 +02:00
Ömer Faruk Aydın
627184f124 Merge pull request #1379 from automatisch/factories/execution-step
test: Implement execution step factory
2023-10-24 13:45:08 +02:00
Rıdvan Akca
fa02edfefc feat(pushover): add send a pushover notification action (#1373) 2023-10-24 13:40:24 +02:00
Faruk AYDIN
61afebc827 test: Implement execution step factory 2023-10-24 12:35:29 +02:00
Faruk AYDIN
a4c22799e7 fix: Correct executions table name for execution factory 2023-10-24 12:35:29 +02:00
Faruk AYDIN
870a110a75 fix: Fetch lastStep directly on the step factory 2023-10-24 12:35:29 +02:00
kattoczko
8c859f9408 feat: introduce admin app configs page (#1335) 2023-10-24 12:19:37 +02:00
Ali BARIN
0a36101da1 feat: close snackbars upon click (#1378) 2023-10-24 12:03:30 +02:00
Ömer Faruk Aydın
c1bf063b12 Merge pull request #1377 from automatisch/factories/execution
test: Implement factory for the execution model
2023-10-23 23:06:45 +02:00
Ömer Faruk Aydın
0da56a800d Merge pull request #1376 from automatisch/factories/step
test: Add factory file for the step model
2023-10-23 23:00:26 +02:00
Faruk AYDIN
4d2172d153 test: Implement factory for the execution model 2023-10-23 22:52:24 +02:00
Faruk AYDIN
d0fab0e1f1 test: Add factory file for the step model 2023-10-23 22:47:19 +02:00
QAComet
4cedbdbc60 test: add tests for git connection (#1289)
* chore: add data-test attributes

* test: add github connection test, add applications modal

* chore: embed test GITHUB_CLIENT_* environment values

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-10-23 18:48:23 +02:00
Ömer Faruk Aydın
a82d34cbce Merge pull request #1375 from automatisch/factories/flow
test: Add factory file for the flow model
2023-10-23 18:43:14 +02:00
Faruk AYDIN
16d0c243c7 test: Add factory file for the flow model 2023-10-23 18:26:43 +02:00
Ömer Faruk Aydın
855901bd9e Merge pull request #1372 from automatisch/refactor/tests
refactor: Use named exports for factories
2023-10-23 11:09:05 +02:00
Faruk AYDIN
6be8a581d2 refactor: Use named exports for factories 2023-10-23 10:36:44 +02:00
Faruk AYDIN
655deb12c8 refactor: Rename fixtures as factories to differentiate dynamic data 2023-10-23 10:30:27 +02:00
Ömer Faruk Aydın
31b1b9457b Merge pull request #1364 from automatisch/AUT-348
feat(pushover): add pushover integration
2023-10-22 23:13:01 +02:00
Faruk AYDIN
c4394228f2 fix(placetel): Authenticate in case valid user without device 2023-10-22 23:03:46 +02:00
Rıdvan Akca
98e6dbe141 feat(pushover): add pushover integration 2023-10-22 23:03:46 +02:00
Ömer Faruk Aydın
4fac1ef7c4 Merge pull request #1355 from automatisch/AUT-347
feat(youtube): add new video by search trigger
2023-10-21 10:52:31 +02:00
Rıdvan Akca
034bc6a79e refactor(pipedrive): make filterProvidedFields func reusable 2023-10-20 19:06:34 +02:00
Rıdvan Akca
94e64676af refactor(pipedrive): set baseUrl in a seperate file 2023-10-20 18:36:50 +02:00
Rıdvan Akca
3a638220af feat(pipedrive): add create person action 2023-10-20 17:39:24 +02:00
Rıdvan Akca
0772308bf5 feat(pipedrive): add create organization action 2023-10-20 17:12:51 +02:00
Rıdvan Akca
9f5ea80731 feat(youtube): add new video by search trigger 2023-10-20 18:02:44 +03:00
Ömer Faruk Aydın
fb1f520096 Merge pull request #1367 from automatisch/test/connection-fixture
test: Implement connection fixture
2023-10-20 15:53:04 +02:00
Ömer Faruk Aydın
dd36609443 Merge pull request #1353 from automatisch/AUT-344
feat(youtube): add new video in channel trigger
2023-10-20 15:43:06 +02:00
Rıdvan Akca
4eace3fb7e feat(youtube): add new video in channel trigger 2023-10-20 16:35:13 +03:00
Faruk AYDIN
f13e93e2ce test: Implement connection fixture 2023-10-19 23:04:02 +02:00
Ömer Faruk Aydın
da4f8ab529 Merge pull request #1351 from automatisch/AUT-343
feat(youtube): add youtube integration
2023-10-19 15:05:58 +02:00
Ömer Faruk Aydın
b6ff4ec992 Merge pull request #1363 from automatisch/test/get-trial-status
test: Implement tests for get trial status graphQL query
2023-10-19 14:29:59 +02:00
Ömer Faruk Aydın
25f6cac69a Merge pull request #1362 from automatisch/test/get-automatisch-info
test: Add getAutomatischInfo graphQL query tests
2023-10-19 14:23:51 +02:00
Faruk AYDIN
172a8934e3 test: Add restoreAllMocks to global afterEach for spy and replaceProperty 2023-10-19 14:22:00 +02:00
Ali BARIN
aead014bcf refactor: remove additional mock implentation in tests 2023-10-19 13:43:49 +02:00
Faruk AYDIN
59770c80db test: Implement tests for get trial status graphQL query 2023-10-19 01:06:41 +02:00
Faruk AYDIN
6d6b77148d refactor: User fixture to pass additonal params 2023-10-19 01:06:01 +02:00
Faruk AYDIN
c1e8f5765f chore: Use cloud enabled version for test db 2023-10-19 01:05:23 +02:00
Faruk AYDIN
76e442940b test: Add getAutomatischInfo graphQL query tests 2023-10-18 15:47:09 +02:00
Faruk AYDIN
b2205097da test: Implement the structure of mocking appConfig options 2023-10-18 15:47:09 +02:00
Faruk AYDIN
14886d42e8 test: Clear all jest mocks with after each global hook 2023-10-18 15:47:09 +02:00
Ömer Faruk Aydın
2f35403078 Merge pull request #1359 from automatisch/AUT-350
fix(pipedrive): check if there is no data in dynamic-data
2023-10-18 11:42:12 +02:00
Rıdvan Akca
961d55a1c6 fix(pipedrive): check if there is no data in dynamic-data 2023-10-18 12:20:25 +03:00
Ömer Faruk Aydın
0fca0ef734 Merge pull request #1340 from automatisch/AUT-329
feat(invoice-ninja): add create product action
2023-10-18 00:27:05 +02:00
Ömer Faruk Aydın
cc3acd81bc Merge pull request #1357 from automatisch/pipedrive-create-activity-name-correction
fix(pipedrive/create-activity): correct its key
2023-10-18 00:18:30 +02:00
Ali BARIN
69a691c19e fix(pipedrive/create-activity): correct its key 2023-10-17 21:48:58 +02:00
Ömer Faruk Aydın
e0a4f5c9c9 Merge pull request #1356 from automatisch/formatter/format-phone-number
feat(formatter): implement format phone number transformer
2023-10-17 17:02:22 +02:00
Faruk AYDIN
cabf9b8fb8 feat(formatter): implement format phone number transformer 2023-10-17 16:45:56 +02:00
Rıdvan Akca
61e24da07d feat(invoice-ninja): add create product action 2023-10-17 15:27:25 +03:00
Ömer Faruk Aydın
648511dfad Merge pull request #1354 from automatisch/dependabot/npm_and_yarn/babel/traverse-7.23.2
chore(deps): bump @babel/traverse from 7.16.3 to 7.23.2
2023-10-17 12:52:18 +02:00
dependabot[bot]
dfc9efc31a chore(deps): bump @babel/traverse from 7.16.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.16.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 10:32:32 +00:00
Ömer Faruk Aydın
b58a22addc Merge pull request #1339 from automatisch/AUT-328
feat(invoice-ninja): add create payment action
2023-10-17 11:37:44 +02:00
Ömer Faruk Aydın
e07a9eeda2 Merge pull request #1338 from automatisch/AUT-327
feat(invoice-ninja): add create invoice action
2023-10-16 17:36:38 +02:00
Rıdvan Akca
f0de42fa63 feat(invoice-ninja): add create payment action 2023-10-16 18:30:10 +03:00
Rıdvan Akca
0121661ad0 feat(invoice-ninja): add create invoice action 2023-10-16 18:22:57 +03:00
Rıdvan Akca
fb6e46bd69 feat(youtube): add youtube integration 2023-10-16 16:27:17 +03:00
Ömer Faruk Aydın
9bd041799b Merge pull request #1350 from automatisch/test/get-config
test: Implement tests for getConfig graphQL query
2023-10-16 15:12:53 +02:00
Ömer Faruk Aydın
9e191c4ed9 Merge pull request #1349 from automatisch/test/get-roles
test: add tests for graphQL getRoles query
2023-10-16 15:12:43 +02:00
Ömer Faruk Aydın
794b4cf26a Merge pull request #1348 from automatisch/tests/get-role
test: Add getRole graphQL query test
2023-10-16 14:52:28 +02:00
Faruk AYDIN
2d8421943f test: Implement tests for getConfig graphQL query 2023-10-15 20:01:05 +02:00
Faruk AYDIN
48dc2312d9 refactor: Remove redundant context variable from getConfig 2023-10-15 20:00:51 +02:00
Faruk AYDIN
cdf7a1adc4 test: Implement config fixture 2023-10-15 20:00:07 +02:00
Faruk AYDIN
99ebd12081 chore: Add IConfig type 2023-10-15 19:59:26 +02:00
Faruk AYDIN
859337b5c1 test: add tests for graphQL getRoles query 2023-10-15 16:55:25 +02:00
Faruk AYDIN
1e601559a0 test: remove roles and permission with global before all hook 2023-10-15 16:54:51 +02:00
Faruk AYDIN
9314cba724 test: Add getRole graphQL query test 2023-10-15 15:22:08 +02:00
Ömer Faruk Aydın
25224f0308 Merge pull request #1346 from automatisch/test/get-users
test: Implement tests for graphQL getUsers query
2023-10-14 21:35:51 +02:00
Faruk AYDIN
9a981d5373 test: Implement tests for graphQL getUsers query 2023-10-14 21:29:24 +02:00
Faruk AYDIN
c7116361ab refactor: No need to interpolate token for getUser test 2023-10-14 21:21:40 +02:00
Ömer Faruk Aydın
1f17236c4f Merge pull request #1345 from automatisch/refactor/tests
test: Correct get current user test descriptions
2023-10-14 21:21:21 +02:00
Ömer Faruk Aydın
67f415de35 Merge pull request #1344 from automatisch/test/healthcheck-query
test: Add test for healthcheck graphQL query
2023-10-14 21:20:55 +02:00
Faruk AYDIN
b890150817 chore: Add verbose flag to yarn test script 2023-10-14 20:13:13 +02:00
Faruk AYDIN
4de1fc49df test: Add test case for unauthorized user for getUser 2023-10-14 20:12:10 +02:00
Faruk AYDIN
fb80d5d70d test: Correct get current user test descriptions 2023-10-14 20:04:49 +02:00
Faruk AYDIN
eaa25e412a test: Add test for healthcheck graphQL query 2023-10-14 17:45:26 +02:00
Faruk AYDIN
706142f98e chore: Change the description of existing graphQL tests 2023-10-14 17:19:25 +02:00
Ömer Faruk Aydın
36a72d0a32 Merge pull request #1334 from automatisch/AUT-326
feat(invoice-ninja): add create client action
2023-10-14 15:36:24 +02:00
Faruk AYDIN
1d44d387ac feat(invoice-ninja): Add static country codes to create client fields 2023-10-14 15:26:58 +02:00
Faruk AYDIN
f93c41f2d8 feat(invoice-ninja): Set instance URL as base URL 2023-10-14 15:26:58 +02:00
Rıdvan Akca
5b13f880c8 feat(invoice-ninja): add create client action 2023-10-14 15:26:58 +02:00
Ömer Faruk Aydın
c4af873036 Merge pull request #1342 from automatisch/lowercase-email
fix: Lowercase user email before insert and update
2023-10-14 13:42:05 +02:00
Faruk AYDIN
fe820fb4fe fix: use lowercase email for user model findOne method 2023-10-13 13:21:55 +02:00
Faruk AYDIN
82ad0735d2 chore: Convert user emails to lowercase 2023-10-13 11:52:31 +02:00
Faruk AYDIN
8b0a421924 fix: Lowercase user email before insert and update 2023-10-13 11:44:52 +02:00
Ömer Faruk Aydın
d44cb3d92e Merge pull request #1341 from automatisch/test/get-current-user
test: Implement getCurrentUser graphQL test
2023-10-13 11:36:38 +02:00
Ömer Faruk Aydın
5f335ef5b3 refactor: Use token without string interpolation for getCurrentUser test
Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-10-13 11:24:54 +02:00
Faruk AYDIN
5831bf9653 test: Implement getCurrentUser graphQL test 2023-10-13 01:04:35 +02:00
Ömer Faruk Aydın
2480dfbb6d Merge pull request #1331 from automatisch/AUT-323
feat(invoice-ninja): add new quotes trigger
2023-10-12 16:03:28 +02:00
Ömer Faruk Aydın
162b352ea5 Merge pull request #1330 from automatisch/AUT-322
feat(invoice-ninja): add new projects trigger
2023-10-12 15:58:49 +02:00
Ömer Faruk Aydın
9f30d7d7ba Merge pull request #1329 from automatisch/AUT-321
feat(invoice-ninja): add new payments trigger
2023-10-12 15:55:44 +02:00
Rıdvan Akca
27c296bb89 feat(invoice-ninja): add new quotes trigger 2023-10-12 14:44:17 +03:00
Rıdvan Akca
ef67908451 feat(invoice-ninja): add new projects trigger 2023-10-12 14:43:39 +03:00
Rıdvan Akca
3dedc3bfc7 feat(invoice-ninja): add new payments trigger 2023-10-12 14:43:06 +03:00
Ömer Faruk Aydın
65d509c97f Merge pull request #1328 from automatisch/AUT-320
feat(invoice-ninja): add new invoices trigger
2023-10-11 16:00:25 +02:00
Rıdvan Akca
11f38c4d3a feat(invoice-ninja): add new invoices trigger 2023-10-11 15:36:20 +02:00
Ömer Faruk Aydın
3bca6497f7 Merge pull request #1327 from automatisch/AUT-319
feat(invoice-ninja): add new credits trigger
2023-10-11 15:34:17 +02:00
Ömer Faruk Aydın
23d79b9265 Merge pull request #1333 from automatisch/backend-tests-ci
feat: Add CI configuration for backend tests
2023-10-11 14:07:01 +02:00
Faruk AYDIN
12c53a3d4d feat: Add CI configuration for backend tests 2023-10-11 13:41:03 +02:00
Ömer Faruk Aydın
1dfe58ec02 Merge pull request #1337 from automatisch/placetel-webhook
fix(placetel): Parse request body inside of run method
2023-10-11 11:24:55 +02:00
Faruk AYDIN
7615e62bbc fix(placetel): Parse request body inside of run method 2023-10-11 11:17:19 +02:00
Faruk AYDIN
53189a6487 fix: Do not parse all requests with json parser 2023-10-10 18:26:53 +02:00
Rıdvan Akca
027b11c3fb feat(invoice-ninja): add new credits trigger 2023-10-10 16:31:42 +03:00
Ömer Faruk Aydın
453ab7de66 Merge pull request #1325 from automatisch/AUT-318
feat(invoice-ninja): add new clients trigger
2023-10-10 12:51:40 +02:00
Rıdvan Akca
58f8ded161 feat(invoice-ninja): add new clients trigger 2023-10-10 13:41:14 +03:00
Ömer Faruk Aydın
497ce2e84f Merge pull request #1323 from automatisch/AUT-315
feat(invoice-ninja): add invoice ninja integration
2023-10-09 16:41:35 +02:00
Faruk AYDIN
3794c6f508 docs(invoice-ninja): Add warning to see API tokens 2023-10-09 16:30:53 +02:00
Rıdvan Akca
ee6c9fa5d4 feat(invoice-ninja): add invoice ninja integration 2023-10-09 16:06:00 +03:00
Ömer Faruk Aydın
1369bb095f Merge pull request #1324 from automatisch/placetel
feat(placetel): Implement app structure with authentication
2023-10-09 14:19:58 +02:00
Faruk AYDIN
c786d7549a refactor(placetel): No need to stringify call ID 2023-10-09 14:11:39 +02:00
Faruk AYDIN
b59840cb77 feat(placetel): Add types to hungup call trigger 2023-10-09 12:49:59 +02:00
Faruk AYDIN
265d57d8b7 refactor(placetel): Remove redundant header variable 2023-10-09 12:18:55 +02:00
Faruk AYDIN
5eed84f9e5 feat: Add run method to placetel hungup trigger 2023-10-09 12:18:11 +02:00
Faruk AYDIN
0a334dff1d docs(placetel): Add connection and triggers pages 2023-10-09 12:17:23 +02:00
Faruk AYDIN
5fff9bdc02 chore(placetel): Add missing type file 2023-10-09 12:17:23 +02:00
Faruk AYDIN
a9fd261bab refactor: Use json parser when content type is not specified 2023-10-09 12:17:23 +02:00
Faruk AYDIN
ef087be4f0 feat(placetel): Add hungup call trigger 2023-10-09 12:17:23 +02:00
Faruk AYDIN
2099978b8f fix: Add fields from substeps to getApps query 2023-10-09 12:17:23 +02:00
Faruk AYDIN
712bee297a feat(placetel): Implement app structure with authentication 2023-10-09 12:17:23 +02:00
Ömer Faruk Aydın
57bba90091 Merge pull request #1332 from automatisch/webhook-body
feat: Add run method to webhook triggers
2023-10-09 12:12:39 +02:00
Faruk AYDIN
d877f5c764 refactor: Use trigger queue for webhook handler 2023-10-09 12:05:45 +02:00
Faruk AYDIN
4c66cc1e33 feat: Adjust webhook handler to work with run method 2023-10-08 15:51:59 +02:00
Faruk AYDIN
27a3edeb93 feat: Add run method to webhook triggers 2023-10-07 18:46:25 +02:00
Ali BARIN
f79fc29203 chore: add mock license server 2023-10-06 14:39:11 +02:00
Ali BARIN
174240a220 refactor: add useEnqueueSnackbar with data-test attr 2023-10-06 12:28:09 +02:00
Ömer Faruk Aydın
60d8af5c16 Merge pull request #1321 from automatisch/AUT-310
feat(pipedrive): add create lead action
2023-10-06 11:40:04 +02:00
Faruk AYDIN
627a5892f1 chore: Add description to Pipedrive create lead fields 2023-10-06 11:33:52 +02:00
Ömer Faruk Aydın
7767f6d9cc Merge pull request #1322 from automatisch/salesforce/api-request
feat(salesforce): Implement execute query action
2023-10-05 16:12:42 +02:00
Faruk AYDIN
9729fd6b15 feat(salesforce): Implement execute query action 2023-10-05 15:23:48 +02:00
Rıdvan Akca
17916f29f6 feat(pipedrive): add create lead action 2023-10-05 14:12:37 +03:00
kattoczko
584b9323ec feat: introduce admin apps page (#1296)
* feat: introduce admin apps page

* feat: add access restriction and fix incorrectly placed key prop
2023-10-05 10:55:00 +02:00
Ömer Faruk Aydın
82c1aadfa9 Merge pull request #1319 from automatisch/refactor-get-user-tests
refactor: Use fixtures for getUser graphQL tests
2023-10-05 10:25:49 +02:00
Faruk AYDIN
bd497af89b test: Add case to getUser to not return user password 2023-10-04 21:01:16 +02:00
Faruk AYDIN
1683c5630a test: Add types to getUser test file 2023-10-04 21:01:16 +02:00
Faruk AYDIN
b5df1a026a chore: Use snake case test mappers for test env 2023-10-04 21:01:16 +02:00
Faruk AYDIN
b290c32aeb refactor: Use shared requestObject for getUser tests 2023-10-04 21:01:16 +02:00
Faruk AYDIN
a29b3c6db4 refactor: Use fixtures for getUser graphQL tests 2023-10-04 21:01:16 +02:00
Faruk AYDIN
ffb2f4f5db refactor: Use unauthorized user describe block for getUser tests 2023-10-04 21:01:16 +02:00
Faruk AYDIN
24c95f4801 refactor: Remove reduntant global knex instance 2023-10-04 21:01:16 +02:00
Ömer Faruk Aydın
1aaec2d555 Merge pull request #1317 from automatisch/AUT-306
feat(pipedrive): add create activity action
2023-10-04 20:55:43 +02:00
Rıdvan Akca
fedb198ae7 feat(pipedrive): add create activity action 2023-10-04 13:31:39 +03:00
Ömer Faruk Aydın
add654ccac Merge pull request #1314 from automatisch/get-user-test
feat: Implement getUser graphQL query test
2023-10-04 12:19:12 +02:00
Faruk AYDIN
5a578643a6 feat: Implement getUser graphQL query test 2023-10-04 11:52:39 +02:00
Faruk AYDIN
f0712bd213 feat: Adjust global hooks to work with both knex and objection 2023-10-04 11:48:38 +02:00
Faruk AYDIN
f490632722 refactor: Login mutation with create auth token helper 2023-10-04 11:46:18 +02:00
Faruk AYDIN
2610b96762 chore: Install supertest and faker libraries for tests 2023-10-04 11:46:18 +02:00
Ömer Faruk Aydın
8d90cb834d Merge pull request #1312 from automatisch/global-test-hooks
feat: Add global hooks for jest
2023-10-04 11:45:37 +02:00
Faruk AYDIN
9d92509796 fix: Disable eslint no-var while overriding global 2023-10-03 23:40:12 +02:00
Faruk AYDIN
04a78ee0ba feat: Add types knex field of global 2023-10-03 23:40:12 +02:00
Faruk AYDIN
3703390268 chore: Adjust global and knex types for global hooks 2023-10-03 23:40:12 +02:00
Faruk AYDIN
4ab6415f49 feat: Migrate test database within pretest script 2023-10-03 23:40:12 +02:00
Faruk AYDIN
9228722147 chore: Use ts migration files also for test env 2023-10-03 23:40:12 +02:00
Faruk AYDIN
0e5529b4ca feat: Add global hooks for jest 2023-10-03 23:40:12 +02:00
Ömer Faruk Aydın
4d454ec932 Merge pull request #1313 from automatisch/AUT-303
feat(pipedrive): add create note action
2023-10-02 17:50:42 +02:00
Rıdvan Akca
a9282ad118 feat(pipedrive): add create note action 2023-10-02 16:19:07 +03:00
Ömer Faruk Aydın
0e959641af Merge pull request #1310 from automatisch/test-setup
feat: Introduce jest for backend tests
2023-09-30 15:02:01 +02:00
Faruk AYDIN
13263eea76 feat: Introduce jest for backend tests 2023-09-30 14:31:01 +02:00
Faruk AYDIN
1a3418de58 chore: Remove ava from test setup 2023-09-30 14:17:47 +02:00
Ömer Faruk Aydın
4402995132 Merge pull request #1133 from automatisch/sandbox-emails
chore: Allow only automatisch emails for non-prod cloud envs
2023-09-30 13:25:18 +02:00
Ömer Faruk Aydın
4e33f9875b Merge pull request #1307 from automatisch/pipedrive-create-deal
feat(pipedrive): add create deal action
2023-09-30 13:20:43 +02:00
Faruk AYDIN
ed2893e37f fix(pipedrive): Add guard for not having any organizations 2023-09-30 13:13:21 +02:00
Rıdvan Akca
c35be241ca feat(pipedrive): add create deal action 2023-09-30 13:05:09 +02:00
Ömer Faruk Aydın
aad0b4ddfe Merge pull request #1302 from automatisch/miro-create-card-widget
feat(miro): add create card widget action
2023-09-30 10:48:25 +02:00
Rıdvan Akca
52f5c7ddb5 feat(miro): add create card widget action 2023-09-29 21:39:30 +02:00
Kasia
a04b933161 refactor: introduce useApps hook 2023-09-29 17:03:36 +02:00
kattoczko
c77e12edbb fix: consider null as value in step parameters (#1282) 2023-09-29 16:33:45 +02:00
Ömer Faruk Aydın
108bd04cf8 Merge pull request #1301 from automatisch/miro-copy-board
feat(miro): add copy board action
2023-09-29 12:52:25 +02:00
Rıdvan Akca
a95b500e42 feat(miro): add copy board action 2023-09-29 12:46:36 +02:00
Ömer Faruk Aydın
c2744c5569 Merge pull request #1300 from automatisch/miro-integration
feat(miro): add create board action
2023-09-29 12:45:05 +02:00
Faruk AYDIN
a1dfd87bbe docs(miro): Add to available apps 2023-09-29 12:31:33 +02:00
Rıdvan Akca
221aa8687f feat(miro): add create board action 2023-09-29 12:17:21 +02:00
Rıdvan Akca
fa8ac0a8ba feat(miro): add miro integration 2023-09-29 12:17:21 +02:00
Ömer Faruk Aydın
cc1f9873cb Merge pull request #1299 from automatisch/pipedrive-new-lead
feat(pipedrive): add new leads trigger
2023-09-29 12:15:28 +02:00
Rıdvan Akca
3cae9ee5d2 feat(pipedrive): add new leads trigger 2023-09-29 12:06:56 +02:00
Ömer Faruk Aydın
f764914adb Merge pull request #1298 from automatisch/pipedrive-new-activity
feat(pipedrive): add new activities trigger
2023-09-29 12:04:29 +02:00
Rıdvan Akca
991250c73f feat(pipedrive): add new activities trigger 2023-09-29 11:57:11 +02:00
Ömer Faruk Aydın
af46cf5ce8 Merge pull request #1297 from automatisch/pipedrive-new-note
feat(pipedrive): add new notes trigger
2023-09-29 11:53:10 +02:00
Faruk AYDIN
dbb1c42c47 fix(pipedrive): Skip adding auth header for refresh token 2023-09-29 11:44:35 +02:00
Rıdvan Akca
991f593b2e feat(pipedrive): add new notes trigger 2023-09-29 11:44:35 +02:00
Ömer Faruk Aydın
e43c083d50 Merge pull request #1305 from automatisch/fix-user-creation
fix: use default role for fallback user creation
2023-09-29 10:39:29 +02:00
Ömer Faruk Aydın
3cd9bdc1d4 Merge pull request #1304 from automatisch/new-calendars
feat(google-calendar): Add max results option to new calendar trigger
2023-09-28 17:00:51 +02:00
Ali BARIN
c0b8e6178d fix: use default role for fallback user creation 2023-09-28 14:49:49 +00:00
Ömer Faruk Aydın
410f9d0af5 Merge pull request #1291 from automatisch/google-calendar-new-event
feat(google-calendar): add new event trigger
2023-09-28 16:16:32 +02:00
Ömer Faruk Aydın
b1fedf28dc Merge branch 'main' into google-calendar-new-event 2023-09-28 16:06:08 +02:00
Faruk AYDIN
b0df03dcd2 feat(google-calendar): Add max results option to new calendar trigger 2023-09-28 15:10:36 +02:00
Ömer Faruk Aydın
2794e50a19 Merge pull request #1294 from automatisch/pipedrive-integration
feat(pipedrive): add new deals trigger
2023-09-28 15:09:17 +02:00
Faruk AYDIN
365ae656f2 fix(pipedrive): Adjust description of OAuth redirect URL 2023-09-28 15:01:35 +02:00
Faruk AYDIN
98649dcba6 fix(pipedrive): Guard new deals response in case there is none 2023-09-28 15:00:34 +02:00
Faruk AYDIN
213c8096d2 fix(pipedrive): Change the order in available apps 2023-09-28 15:00:34 +02:00
Faruk AYDIN
398938f27e feat(pipedrive): Use also company domain for screen name 2023-09-28 15:00:34 +02:00
Faruk AYDIN
6378e62645 docs(pipedrive): Add to available apps 2023-09-28 15:00:34 +02:00
Rıdvan Akca
251885d4be feat(pipedrive): add new deals trigger 2023-09-28 15:00:34 +02:00
Rıdvan Akca
f53909355f feat(pipedrive): add pipedrive integration 2023-09-28 15:00:34 +02:00
Rıdvan Akca
242b68889a feat(google-calendar): add new event trigger 2023-09-28 15:52:53 +03:00
Ömer Faruk Aydın
6a66b65f2a Merge pull request #1290 from automatisch/google-calendar-new-calendar-trigger
feat(google-calendar): add new calendar trigger
2023-09-28 13:45:41 +02:00
Faruk AYDIN
f30ead6bcb docs(google-calendar): Add to available apps 2023-09-28 13:37:32 +02:00
Faruk AYDIN
237ee72ca6 feat(google-calendar): Use etag as internal id instead of id 2023-09-28 13:29:39 +02:00
Faruk AYDIN
3590d84ad6 fix(google-calendar): Reverse order the response data of new calendars 2023-09-28 13:28:58 +02:00
Rıdvan Akca
2dae8c162d feat(google-calendar): add new calendar trigger 2023-09-18 15:17:05 +03:00
Rıdvan Akca
9a192b708e feat(google-calendar): add google calendar integration 2023-09-18 15:12:29 +03:00
Rıdvan Akca
c193f9334f feat(wordpress): add new comment trigger 2023-09-15 18:33:38 +02:00
Rıdvan Akca
6e682dc752 fix(create-role): check isCreator by default when permissioon is checked 2023-09-15 15:32:52 +02:00
Rıdvan Akca
da86fe56bd feat(wordpress): add new page trigger 2023-09-15 13:05:41 +02:00
Ali BARIN
45865d701a chore: embed env. vars. for playwright actions 2023-09-15 12:56:15 +02:00
Ömer Faruk Aydın
a66a31b474 Merge pull request #1284 from automatisch/tests/ava
feat: Introduce backend test suite with ava
2023-09-14 12:43:45 +02:00
Faruk AYDIN
2661e7102f feat: Add env file existince check for test suite 2023-09-14 12:25:09 +02:00
Faruk AYDIN
224965b91e feat: Introduce backend test suite with ava 2023-09-14 11:56:53 +02:00
Ömer Faruk Aydın
a9c7375534 Merge pull request #1279 from automatisch/feature/hubspot
feat(hubspot): Implement create contact action
2023-09-14 11:52:18 +02:00
Faruk AYDIN
e77f7ee0bf docs(hubspot): Order alphabetically & correct connection name typo 2023-09-13 23:39:34 +02:00
Faruk AYDIN
ae5dd0cad6 fix(hubspot): Remove redundant field descriptions 2023-09-13 23:16:23 +02:00
Faruk AYDIN
a128907a4e fix(hubspot): Correct website URL typo and primary color 2023-09-13 23:16:23 +02:00
Faruk AYDIN
d6453a8ed0 chore: Use camelCase convention for hubspot actions 2023-09-13 23:16:23 +02:00
Faruk AYDIN
dd1e8240b8 feat(hubspot): Implement verify credentials for OAuth 2023-09-13 23:16:23 +02:00
Faruk AYDIN
b12f39916f feat(hubspot): Implement generate auth url for OAuth 2023-09-13 23:16:23 +02:00
Faruk AYDIN
aae88fe1ad docs(hubspot): Adjust connection page for OAuth setup 2023-09-13 23:16:23 +02:00
Faruk AYDIN
83bb400df1 chore: Change hubspot auth doc url 2023-09-13 23:16:23 +02:00
Vitalii Mykytiuk
8ea8067788 feat(hubspot): Implement create contact action 2023-09-13 23:16:23 +02:00
Rıdvan Akca
9fbc9d59f5 feat: make authentication role mappings emptiable 2023-09-13 22:32:18 +02:00
Ali BARIN
b96ba69a72 chore: run GH actions on push to main branch 2023-09-13 22:25:20 +02:00
Faruk AYDIN
c4ccab6a5d chore: Run CI builds only for pull requests 2023-09-13 22:25:20 +02:00
Rıdvan Akca
f84f27bb56 feat(user-interface): introduce optimistic response 2023-09-13 22:10:47 +02:00
Ömer Faruk Aydın
416cc0ffa9 Merge pull request #1280 from automatisch/node-version
chore: Add .node-version and .nvmrc files to the root
2023-09-13 12:41:37 +02:00
Faruk AYDIN
1fd5ec4db6 chore: Add .node-version and .nvmrc files to the root 2023-09-13 12:36:20 +02:00
Rıdvan Akca
4795c35c68 feat(create-role): make isCreator condition checked by default (#1276) 2023-09-11 15:28:47 +02:00
Rıdvan Akca
25ce63b86d feat(user-interface): use default config as fallback (#1251)
* feat(user-interface): return default app values

* test: remove skip in UI tests

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-09-11 14:06:05 +02:00
Ömer Faruk Aydın
5271033d34 Merge pull request #1275 from automatisch/docs/formatter
docs(formatter): Add numbers and date-time actions
2023-09-11 10:05:44 +02:00
Faruk AYDIN
6ba8f33399 docs(formatter): Add numbers and date-time actions 2023-09-11 09:57:50 +02:00
Ali BARIN
7ab79bd815 Merge pull request #1273 from automatisch/role-mappings 2023-09-10 10:48:34 +02:00
Faruk AYDIN
04a0a847c7 fix: Check role mappings data with isEmpty method 2023-09-10 10:43:08 +02:00
Ali BARIN
436fa9af69 Merge pull request #1267 from automatisch/AUT-276
feat(user-interface): add title field
2023-09-08 21:04:58 +02:00
Ali BARIN
ca0bbb0f08 Merge pull request #1270 from automatisch/feat/random-number
feat(formatter): add decimal point to random number transformer
2023-09-08 21:02:10 +02:00
Ali BARIN
88996144a5 Merge pull request #1269 from automatisch/formatter/date-format
feat(formatter): Implement format date time transformer
2023-09-08 17:27:36 +02:00
Faruk AYDIN
44d5eee99e feat(formatter): Implement format date time transformer for date time action 2023-09-08 13:10:09 +00:00
Ali BARIN
0d1ff6074f Merge pull request #1266 from automatisch/numbers/format-number
feat(formatter): Add format number transformer to numbers action
2023-09-08 15:09:21 +02:00
kattoczko
d63757634a feat: introduce role mappings form on authentication page (#1256) 2023-09-08 14:09:53 +02:00
Faruk AYDIN
fd61cf3388 feat(formatter): Add decimal point to random number transformer 2023-09-06 17:06:13 +02:00
Faruk AYDIN
a6a6b63e5a feat(formatter): Add format number transformer to numbers action 2023-09-05 16:10:39 +02:00
Rıdvan Akca
c02c2def29 feat(user-interface): add title field 2023-09-05 17:10:01 +03:00
Ömer Faruk Aydın
ff66548462 feat(formatter): add random number transformer to numbers action (#1265) 2023-09-05 16:08:30 +02:00
Ömer Faruk Aydın
c9f292e252 feat(formatter): add number action with math operation transformer (#1264)
* feat(formatter): Add number action with math operation transformer

* chore: Use different folders for list transform options of formatter
2023-09-05 13:02:43 +02:00
Faruk AYDIN
18cef5f3bd chore: Sort formatter text transformers alphabetically 2023-09-01 18:02:14 +02:00
Faruk AYDIN
e19340f1e0 feat(formatter): Add replace transformer to text action 2023-09-01 18:02:14 +02:00
Ömer Faruk Aydın
feb613cb6d docs: add upgrade guide for docker compose installation (#1262) 2023-09-01 17:53:21 +02:00
Ömer Faruk Aydın
afa6bdfa44 feat(formatter): add trim whitespace transformer to text action (#1261) 2023-09-01 14:07:50 +02:00
Ömer Faruk Aydın
200e6d9905 feat(formatter): add pluralize transformer for text action (#1260) 2023-09-01 13:37:35 +02:00
Ömer Faruk Aydın
70772c49bd feat(formatter): add lowercase to text transformers (#1259) 2023-09-01 13:26:15 +02:00
Ömer Faruk Aydın
762ea97e8b Merge pull request #1258 from automatisch/release/0.9.3
Release v0.9.3
2023-09-01 12:55:35 +02:00
Faruk AYDIN
8156b8b356 Release v0.9.3 2023-09-01 12:35:19 +02:00
Faruk AYDIN
3a2cbae0a0 chore: Update version to 0.9.3 in Dockerfiles 2023-09-01 12:34:25 +02:00
Ömer Faruk Aydın
0ad8da097b fix(rss): get text for internal ID if the guid or id is object (#1257) 2023-09-01 12:10:42 +02:00
Ömer Faruk Aydın
e2dcdd2811 feat(formatter): add extract number transform to text action (#1255) 2023-08-31 16:35:28 +02:00
Ömer Faruk Aydın
8074f9146b Merge pull request #1253 from automatisch/refactor-notifications
refactor: fetch notifications over graphql query
2023-08-29 16:37:37 +02:00
Ali BARIN
df24bac913 refactor: fetch notifications over graphql query 2023-08-28 20:44:55 +00:00
Ali BARIN
4d4091adcc test: write login page tests 2023-08-28 20:11:21 +02:00
Ali BARIN
cac54c41a1 chore: run automatisch in playwright workflow 2023-08-28 20:11:21 +02:00
Ali BARIN
130931d7af fix: use axios with proxy in license check (#1252) 2023-08-28 17:19:19 +02:00
Ömer Faruk Aydın
d35b08b35e Merge pull request #1250 from automatisch/release/0.9.2
Release v0.9.2
2023-08-28 16:54:32 +02:00
Faruk AYDIN
82031da6a6 Release v0.9.2 2023-08-28 16:30:29 +02:00
Faruk AYDIN
9df5ee7b11 chore: Update version to 0.9.2 in Dockerfiles 2023-08-28 16:29:53 +02:00
Ömer Faruk Aydın
2ed1a57cd9 Merge pull request #1249 from automatisch/permission-contions
chore: Convert conditions of permissions to array
2023-08-28 16:27:29 +02:00
Faruk AYDIN
101450cba6 chore: Convert conditions of permissions to array 2023-08-28 16:24:39 +02:00
Ömer Faruk Aydın
6bab5b3f7c Merge pull request #1248 from automatisch/release/0.9.1
Release v0.9.1
2023-08-28 15:15:25 +02:00
Faruk AYDIN
ca3c0e00a7 Release v0.9.1 2023-08-28 14:47:05 +02:00
Faruk AYDIN
6d64daf324 chore: Update version to 0.9.1 in Dockerfiles 2023-08-28 14:46:26 +02:00
Ömer Faruk Aydın
9ae4578e19 Merge pull request #1247 from automatisch/remove-api-url
chore(web): Remove API url env variable
2023-08-28 14:44:41 +02:00
Faruk AYDIN
e06b7ab87a chore(web): Remove API url env variable 2023-08-28 14:37:10 +02:00
Ömer Faruk Aydın
1e2adedcbf Merge pull request #1246 from automatisch/release/0.9.0
Release v0.9.0
2023-08-28 13:34:24 +02:00
Faruk AYDIN
adf763c1b0 Release v0.9.0 2023-08-28 13:13:23 +02:00
Faruk AYDIN
36ee0df256 chore: Update version to 0.9.0 in Dockerfiles 2023-08-28 13:06:20 +02:00
Rıdvan Akca
823d85b24a feat(custom-logo): constraint svg logo dimensions (#1243) 2023-08-25 21:43:53 +02:00
Rıdvan Akca
a3b3038709 test(user-interface-configuration): write initial tests (#1242)
* test(user-interface): add tests with playwright

* test: refactor UI configuration tests

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-25 21:31:02 +02:00
kattoczko
ddeb18f626 feat: introduce authentication page (#1241)
* feat: introduce authentication page

* feat: update page width

* fix(saml): cover non-existing role mapping on onboarding

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-25 15:24:50 +02:00
Rıdvan Akca
90cd11bd38 feat: align admin pages vertically (#1240) 2023-08-24 16:34:18 +02:00
Ömer Faruk Aydın
e9ba37b8de fix: use withSoftDeleted scope to remove user associations permanently (#1239) 2023-08-24 16:34:07 +02:00
Faruk AYDIN
d5e4a1b1ad fix: Soft delete existing associations of soft deleted users 2023-08-24 15:05:54 +02:00
Faruk AYDIN
129e6d60e5 fix: Remove all related records when user is deleted 2023-08-24 15:05:54 +02:00
Faruk AYDIN
4b77f2f590 fix: Remove deleted flows from Redis 2023-08-24 15:05:54 +02:00
Rıdvan Akca
a909966562 feat(executions): display execution step id (#1232)
* feat(executions): display execution step id

* refactor: remove conditional components in execution steps

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-23 21:53:16 +02:00
Ömer Faruk Aydın
fd184239d6 Merge pull request #1233 from automatisch/enhance-variable-coverage
feat: enhance step variable coverage
2023-08-23 12:35:07 +02:00
Ali BARIN
52bc49dc6a feat: enhance step variable coverage 2023-08-22 16:17:20 +02:00
Ali BARIN
b9352ccc06 fix(mutations/update-flow-status): correct permission check 2023-08-22 16:17:20 +02:00
Ali BARIN
525b2baf06 fix(mutations/execute-flow): correct permission check 2023-08-22 16:17:20 +02:00
Ali BARIN
a8edeb2459 fix(mutations/update-step): correct permission check 2023-08-22 16:17:20 +02:00
Ali BARIN
e3830d64e0 feat: add getSamlAuthProviderRoleMappings query (#1229) 2023-08-22 14:50:01 +02:00
Ali BARIN
91f3e2c2b4 feat: make user.role_id not nullable (#1217) 2023-08-22 14:49:53 +02:00
Ali BARIN
77b4408416 chore: correct e2e test results path in GH actions (#1231) 2023-08-22 10:57:40 +03:00
QAComet
cede96f018 test: refactor create flow test cases with test.step (#1228) 2023-08-22 00:27:10 +02:00
dependabot[bot]
8e0a28d238 chore(deps): bump @node-saml/node-saml from 4.0.4 to 4.0.5 (#1227)
Bumps [@node-saml/node-saml](https://github.com/node-saml/node-saml) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/node-saml/node-saml/releases)
- [Changelog](https://github.com/node-saml/node-saml/blob/v4.0.5/CHANGELOG.md)
- [Commits](https://github.com/node-saml/node-saml/compare/v4.0.4...v4.0.5)

---
updated-dependencies:
- dependency-name: "@node-saml/node-saml"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 23:35:38 +02:00
Rıdvan Akca
da5d594428 feat(user-interface): introduce user interface page (#1226) 2023-08-21 23:11:25 +02:00
kattoczko
9f9ee0bb58 feat: create clear button for ControlledCustomAutocomplete (#1222)
Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-21 22:52:59 +02:00
Rıdvan Akca
163aca6179 feat(user-list): add pagination (#1219)
* feat(user-list): add pagination

* feat: add actual total count in getUsers

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-21 21:15:07 +02:00
Ali BARIN
cb06d3b0ae test: add in-between assertions and more fixtures (#1224) 2023-08-18 18:34:52 +02:00
Ali BARIN
dbe18dd100 chore: configure login env. vars. in e2e test workflow (#1221) 2023-08-18 09:48:41 +02:00
Ali BARIN
217970667a chore: make e2e tests manually triggerable (#1220) 2023-08-18 10:25:43 +03:00
Rıdvan Akca
dace794167 feat: introduce playwright (#1194)
* feat: introduce playwright

* test: migrate apps folder to playwright (#1201)

* test: rewrite connections tests with playwright (#1203)

* test: rewrite executions tests with playwright (#1207)

* test: rewrite flow editor tests with playwright (#1212)

* test(flow-editor): rewrite tests using serial mode (#1218)

* test: update custom connection creation paths

* test: move login logic to page fixture

* test: remove cypress tests and deps

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-08-17 23:31:38 +02:00
Rıdvan Akca
590780a539 feat(user-list): display user role (#1215) 2023-08-16 19:26:49 +02:00
Ömer Faruk Aydın
cbd1f47e87 fix(formatter): capitalize all words without trimming any data (#1216) 2023-08-16 19:21:49 +02:00
Ömer Faruk Aydın
f89cff4e4a Merge pull request #1214 from automatisch/formatter-integration
feat: Implement initial version of formatter app
2023-08-16 19:08:43 +02:00
Faruk AYDIN
cb08e0bf9f feat: Implement initial version of formatter app 2023-08-16 18:59:36 +02:00
Ali BARIN
3b54b29a99 feat: introduce app configs with shared auth clients (#1213) 2023-08-16 15:46:43 +02:00
Ali BARIN
25983e046c chore: move config behind checks (#1211) 2023-08-11 22:32:13 +02:00
Ömer Faruk Aydın
a6a124d2e6 feat: add role mappings for SAML configuration (#1210) 2023-08-11 19:07:39 +02:00
Ali BARIN
c7e1d30553 fix(get-apps): fetch additionalFields for triggers (#1209) 2023-08-11 16:24:09 +02:00
Ömer Faruk Aydın
6cc8c45634 Merge pull request #1208 from automatisch/docs-postgresql
docs: Add warning for PostgreSQL version
2023-08-11 16:07:37 +02:00
Ömer Faruk Aydın
ee9a9114b7 Merge pull request #1205 from automatisch/white-labelling
feat: introduce dynamic configuration
2023-08-11 16:02:45 +02:00
Faruk AYDIN
11f00f866c docs: Add warning for PostgreSQL version 2023-08-11 16:00:05 +02:00
Ali BARIN
03ea61ba81 feat: use dynamic custom logo 2023-08-11 08:29:57 +00:00
Ali BARIN
f6c500c998 feat: use dynamic custom theme 2023-08-11 08:29:57 +00:00
Ali BARIN
b590f0f98f feat: write useConfig hook 2023-08-11 08:29:57 +00:00
Ali BARIN
ef9359b208 feat: write updateConfig GQL mutation 2023-08-11 08:29:57 +00:00
Ali BARIN
efd243a340 feat: create getConfig GQL query 2023-08-11 08:29:57 +00:00
Ali BARIN
bafb8b86db feat: create Config model 2023-08-11 08:29:57 +00:00
Ömer Faruk Aydın
84b701747f feat: add license info in getAutomatischInfo query (#1202) 2023-08-10 23:18:10 +02:00
Ali BARIN
ec42446daa feat(wordpress): add auth and new post trigger (#1160) 2023-08-09 22:34:21 +02:00
Rıdvan Akca
5046c4c911 feat(auth): add loading state for user and role management (#1188) 2023-08-09 21:51:07 +02:00
Ömer Faruk Aydın
ce8c9906cb chore: Rename createSamlAuthProvider mutation as upsertSamlAuthProvider (#1200) 2023-08-08 22:56:23 +02:00
Ömer Faruk Aydın
6fb5482bba Merge pull request #1199 from automatisch/get-saml-auth-provider
feat: Implement getSamlAuthProvider graphQL query
2023-08-07 16:51:33 +02:00
Faruk AYDIN
58189963f5 feat: Implement getSamlAuthProvider graphQL query 2023-08-07 16:48:36 +02:00
Ömer Faruk Aydın
f488a71304 Merge pull request #1198 from automatisch/list-saml-auth-providers
Rename getSamlAuthProviders as listSamlAuthProviders query
2023-08-07 16:48:06 +02:00
Faruk AYDIN
4b706e004d chore: Rename getSamlAuthProviders as listSamlAuthProviders query 2023-08-07 16:44:59 +02:00
Ömer Faruk Aydın
40e10cc270 Merge pull request #1196 from automatisch/remove-role-check
chore: Warn user about default role of SAML before deleting role
2023-08-07 15:31:13 +02:00
Ömer Faruk Aydın
41db227eb3 Merge pull request #1195 from automatisch/saml-configuration-create
feat: Add createSamlAuthProvider graphQL mutation
2023-08-07 15:30:52 +02:00
Faruk AYDIN
43eea965c5 chore: Warn user about default role of SAML before deleting role 2023-08-07 15:21:32 +02:00
Faruk AYDIN
8101c9f0bc feat: Add createSamlAuthProvider graphQL mutation 2023-08-07 15:02:25 +02:00
Rıdvan Akca
b4cda90338 feat(auth): add feedback state for user and role management (#1191) 2023-08-07 11:08:29 +02:00
Ali BARIN
7ca37c412e fix: clone base db queries 2023-08-03 21:11:59 +02:00
Ali BARIN
e4e3356dc9 fix: add fallback for api url 2023-08-03 20:19:02 +02:00
Ali BARIN
0deaa03218 feat(auth): add user and role management 2023-08-03 19:39:48 +02:00
Ali BARIN
a7104c41a2 feat(sso): introduce authentication with SAML 2023-08-03 19:39:48 +02:00
Ali BARIN
5176b8c322 feat(authorization): add update connection checks 2023-08-03 19:39:48 +02:00
Ali BARIN
c37c70446d feat(authorization): add read connection checks 2023-08-03 19:39:48 +02:00
Ali BARIN
63abc8a2c8 feat(authorization): add delete flow checks 2023-08-03 19:39:48 +02:00
Ali BARIN
ba5c038e3b feat(authorization): add create flow checks 2023-08-03 19:39:48 +02:00
Ali BARIN
a6669415f5 feat(authorization): add delete connection checks 2023-08-03 19:39:48 +02:00
Ali BARIN
4086fad867 feat(authorization): add create connection checks 2023-08-03 19:39:48 +02:00
Ali BARIN
8a71c13078 feat(authorization): add read execution checks 2023-08-03 19:39:48 +02:00
Ali BARIN
5d77f64e76 feat(authorization): add update flow checks 2023-08-03 19:39:48 +02:00
Ali BARIN
0d092b977f feat(authorization): add read flow checks 2023-08-03 19:39:48 +02:00
Ali BARIN
69582ff83d feat: introduce role based access control 2023-08-03 19:39:48 +02:00
Ömer Faruk Aydın
a5c7da331a Merge pull request #1190 from automatisch/docs-available-apps
docs: Remove warning from available apps
2023-08-02 17:31:07 +02:00
Faruk AYDIN
8e842296b7 docs: Remove warning from available apps 2023-08-02 17:19:53 +02:00
Ömer Faruk Aydın
7db14d1df7 Merge pull request #1189 from automatisch/release/0.8.0
Release v0.8.0
2023-08-02 15:48:33 +02:00
Faruk AYDIN
067ec2eb9c Release v0.8.0 2023-08-02 15:07:27 +02:00
Faruk AYDIN
2d332b32d9 chore: Update version to 0.8.0 in Dockerfiles 2023-08-02 15:06:49 +02:00
Ömer Faruk Aydın
1d9ad2ba86 Merge pull request #1184 from automatisch/notion-find-database-item
feat(notion): add find database item action
2023-08-01 13:54:09 +02:00
Ömer Faruk Aydın
a28e2177f7 Merge pull request #1183 from automatisch/notion-create-page
feat(notion): add create page action
2023-08-01 13:44:47 +02:00
Ömer Faruk Aydın
18fe0df691 Merge pull request #1185 from automatisch/email-case-insensitive-login
fix(auth): allow login with case insensitive email
2023-07-31 17:05:01 +03:00
Ömer Faruk Aydın
8e21a06d99 Merge pull request #1186 from automatisch/gitlab-use-user-projects
fix(gitlab/list-projects): list projects the user has membership
2023-07-31 17:03:25 +03:00
Ali BARIN
2daf5473bb fix(gitlab/list-projects): list projects the user has membership 2023-07-31 16:00:27 +02:00
Ömer Faruk Aydın
928ff53adf Merge pull request #1187 from automatisch/fix-gitlab-github-names
fix: GitHub and GitLab app names
2023-07-31 16:54:20 +03:00
Faruk AYDIN
a71e95e6e5 fix: GitHub and GitLab app names 2023-07-31 15:47:06 +02:00
Ali BARIN
cb4a54b5cc fix(auth): allow login with case insensitive email 2023-07-30 14:59:16 +00:00
Rıdvan Akca
37e4524156 feat(notion): add find database item action 2023-07-27 14:39:57 +03:00
dependabot[bot]
9ac24ee051 chore(deps): bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-26 22:51:23 +02:00
Ömer Faruk Aydın
f28ccd559a Merge pull request #1177 from automatisch/notion-create-database-item
feat(notion): add create database item action
2023-07-25 14:04:08 +03:00
Ömer Faruk Aydın
8e84a93d8e Merge pull request #1166 from automatisch/create-worksheet
feat(google-sheets): add create worksheet action
2023-07-25 13:58:41 +03:00
Ömer Faruk Aydın
d871dec1b7 Merge pull request #1179 from automatisch/add-http-proxy-agent
fix(axios): incorporate http(s)-proxy-agents
2023-07-24 15:40:22 +03:00
Ömer Faruk Aydın
b133e1a197 Merge pull request #1176 from automatisch/compute-params
fix: allow colon while computing step parameters
2023-07-24 15:33:16 +03:00
Rıdvan Akca
9346a037b9 feat(notion): add create page action 2023-07-24 14:50:53 +03:00
Ali BARIN
89facbcddd fix(axios): incorporate http(s)-proxy-agents 2023-07-17 22:23:48 +00:00
Faruk AYDIN
53fef35638 fix: Allow colon while computing step parameters 2023-07-17 18:19:54 +02:00
Rıdvan Akca
bfe496a09b feat(notion): add create database item action 2023-07-17 16:23:00 +03:00
dependabot[bot]
ff774c2e8e chore(deps): bump semver from 5.7.1 to 5.7.2
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 14:31:07 +02:00
Ömer Faruk Aydın
08a6d1078c Merge pull request #1132 from automatisch/show-webhook-url-by-flag
feat: introduce singleton webhook URL
2023-07-13 12:02:49 +02:00
Ömer Faruk Aydın
e9bcc919bf Merge branch 'main' into show-webhook-url-by-flag 2023-07-13 11:58:19 +02:00
Faruk AYDIN
04f4693c85 fix: Fetch webhooks by flow id 2023-07-12 14:05:46 +02:00
Ömer Faruk Aydın
2a58a0a4c4 Merge pull request #1174 from automatisch/twilio-receive-sms-fix
fix(twilio): Receive SMS webhook payload
2023-07-12 11:24:14 +02:00
Faruk AYDIN
d911843648 fix(twilio): Receive SMS webhook payload 2023-07-11 17:50:31 +02:00
Ömer Faruk Aydın
c80d178410 Merge pull request #1170 from automatisch/mattermost-docs
docs(mattermost): Fix links of mattermost app
2023-07-05 14:33:19 +02:00
Faruk AYDIN
9fb4dca39b docs(mattermost): Fix links of mattermost app 2023-07-05 14:29:19 +02:00
Rıdvan Akca
0dd444d50b feat(google-sheets): add create worksheet action 2023-06-30 19:03:54 +03:00
dependabot[bot]
f3bf418997 chore(deps): bump fast-xml-parser from 4.2.4 to 4.2.5 (#1164)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.2.4...v4.2.5)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-29 17:51:47 +02:00
KrzysztofDK
676027245f feat(mattermost): add auth and send message to channel action
* feat: mattermost integration

* post review adjustments
2023-06-29 16:45:57 +02:00
Ali BARIN
6c5039f1ba fix(odoo): add missing empty type file (#1165) 2023-06-29 16:03:44 +02:00
Jack Dane
807be59f25 feat(odoo): add auth and create lead action (#1143)
* Add Odoo App and Icon

* Add Auth for Odoo

* Authorise with API key, the password would also work, but we should encourage an API key.

* Odoo Verify Credentials method

* Add the xmlrpc dependency so the backend can communicate with Odoo's API.
* Add a port to the auth fields to establish a connection that might not be over HTTPS.

* Add still verified method

* Currently no need to keep uid, so remove it from the auth data.
* Await the callback from the xmlrpc method call to ensure we don't verify credentials before the callback has been executed.

* Add Odoo create-lead action

* Provide basic functionality to create a lead.

* Add Odoo type option

* Let the user decide if the lead should be a "lead" or "opportunity" in the create-lead action.

* Add documentation for Odoo app

* Follow project standards

* Change indents to 2 spaces
* Use single quotes instead of double

* Commonise the authentication method (DRY)

* Use latest for API doc link

* refactor(odoo): abstract and organize implementation

---------

Co-authored-by: Ali BARIN <ali.barin53@gmail.com>
2023-06-29 15:56:20 +02:00
AnimatedSwine37
8e9896ec2e fix(postgresql): close connections when done 2023-06-27 18:57:18 +02:00
Rıdvan Akca
110c2dbac8 docs: add missing dots in action/trigger descriptions 2023-06-26 12:05:42 +02:00
Rıdvan Akca
f55ec4bd8a fix(google-sheets): sort actions 2023-06-25 15:50:03 +02:00
AnimatedSwine37
06c9bf420e fix(discord): show announcement channels in selection 2023-06-25 13:31:47 +02:00
Rıdvan Akca
3c9bc53a79 feat(google-sheets): add create spreadsheet action 2023-06-23 20:29:12 +02:00
Ali BARIN
de7a35dfe9 feat: introduce singleton webhook URL 2023-06-22 08:51:43 +00:00
Ömer Faruk Aydın
92638c2e97 Merge pull request #1142 from automatisch/fix-twilio-receive-sms-test-run
fix(twilio/receive-sms): use phone number via phone number sid
2023-06-14 13:42:11 +02:00
Ali BARIN
63251e6a9a fix(twilio/receive-sms): use phone number via phone number sid 2023-06-14 13:27:49 +02:00
Ömer Faruk Aydın
59844c33fd Merge pull request #1140 from automatisch/notion-app
feat(notion): add auth and new DB items trigger
2023-06-14 13:24:59 +02:00
Faruk AYDIN
d36dd2ece1 docs: Use triggers link of Notion for available apps 2023-06-14 13:21:34 +02:00
Ömer Faruk Aydın
1fdb94739b Merge pull request #1141 from automatisch/fix-dynamic-data
fix: skip prior execution steps if no prior execution
2023-06-14 12:54:34 +02:00
Ali BARIN
8a18f4c44f fix: skip prior execution steps if no prior execution 2023-06-13 20:56:39 +00:00
Ali BARIN
c9c47c5519 docs(notion): add auth and new DB items trigger 2023-06-13 05:56:33 +00:00
Ali BARIN
6be8b55daa feat(notion): add auth and new DB items trigger 2023-06-13 05:56:33 +00:00
Ali BARIN
f2dc2f5530 feat: introduce CustomAutocomplete with variables 2023-06-12 14:06:13 +02:00
Ömer Faruk Aydın
42842e7aec Merge pull request #1130 from gh-kdk/feature/gitlab-integration-documentation
docs(gitlab): add connection and triggers
2023-06-12 12:31:43 +02:00
Faruk AYDIN
49d9f77d1b docs: Add GitLab to available apps 2023-06-12 12:31:07 +02:00
Faruk AYDIN
d06a89564f docs: Add GitLab favicon 2023-06-12 12:31:07 +02:00
Krzysztof Dukszta-Kwiatkowski
58a8510d49 feat: gitlab integration documentation 2023-06-12 12:31:07 +02:00
Ömer Faruk Aydın
8055d6555e Merge pull request #1139 from automatisch/update-flow-status-accordingly
fix: update flow.active when remote calls succeed
2023-06-12 11:48:25 +02:00
Ömer Faruk Aydın
39620d3510 Merge pull request #1135 from shehabghazy/postgres-docs
docs(postgres): add connection and actions
2023-06-12 11:15:11 +02:00
Faruk AYDIN
6d19711926 docs: Add PostgreSQL to available apps 2023-06-12 11:13:09 +02:00
Faruk AYDIN
0b362dd435 docs: Use postgresql key name instead of postgres 2023-06-12 11:11:39 +02:00
Shehab Ghazy
9485731e7d docs: Add PostgreSQL documentation 2023-06-12 11:08:17 +02:00
Ali BARIN
1449fb0f84 fix: update flow.active when remote calls succeed 2023-06-11 20:05:00 +00:00
Faruk AYDIN
e548dd49ca chore: Use paddle sandbox for all non-prod cloud envs 2023-06-08 19:38:00 +02:00
Faruk AYDIN
337d22bbf4 chore: Allow only automatisch emails for non-prod cloud envs 2023-06-08 11:58:14 +02:00
dependabot[bot]
35863ee6e9 chore(deps): bump fast-xml-parser from 4.0.11 to 4.2.4
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.0.11 to 4.2.4.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 21:15:17 +02:00
Faruk AYDIN
0784a2d4d0 refactor: Use limit to prevent fetching all records 2023-06-06 12:59:33 +02:00
Ali BARIN
75d5c0e356 feat: prevent from being used in iframe 2023-06-06 12:59:21 +02:00
Ali BARIN
a2dd6d76a8 fix(webhook/handler): log whole computed payload 2023-06-06 12:59:12 +02:00
dependabot[bot]
bdc6b59857 chore(deps): bump vite from 3.1.8 to 3.2.7
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.1.8 to 3.2.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v3.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 09:33:26 +02:00
Ömer Faruk Aydın
34e95f1e89 Merge pull request #1126 from automatisch/optimize-last-execution
refactor: Optimize fetching last execution step
2023-06-05 23:11:16 +02:00
Faruk AYDIN
6a92cfc573 refactor: Optimize fetching last execution step 2023-06-05 23:00:35 +02:00
Rıdvan Akca
9f759d70b6 feat(google-sheets): add new spreadsheet rows trigger 2023-06-02 15:51:36 +02:00
Ali BARIN
43e957e8d3 feat(gitlab): add instance URL in screen name 2023-06-02 15:20:23 +02:00
Ali BARIN
ae316f60e4 fix: stop checking auth urls 2023-06-02 15:20:09 +02:00
Rıdvan Akca
1ac423ba56 chore: update action and trigger names 2023-06-01 15:01:12 +02:00
Ali BARIN
b43490dd76 fix(get-dynamic-fields): fetch variables field 2023-06-01 13:28:36 +02:00
Ali BARIN
f586e81dd1 fix(FlowSubstep): count 0 as value towards required check 2023-06-01 13:28:36 +02:00
Ali BARIN
8a6d8a7d8c fix(google-sheets/list-sheet-headers): early exit upon not existing worksheet 2023-06-01 13:28:36 +02:00
Ali BARIN
45d607f1a0 fix(google-sheets/list-sheet-headers): cover worksheetId 0 2023-06-01 13:28:36 +02:00
Ali BARIN
d84abaa229 chore(google-sheets/create-spreedsheet-row): update metadata 2023-06-01 13:28:36 +02:00
Rıdvan Akca
3fd1d4d9b3 feat(google-sheets): create spreadsheet row 2023-06-01 13:28:36 +02:00
Ali BARIN
078b8efb56 feat(rss/new-items-in-feed): incorporate attributes 2023-05-30 16:26:48 +02:00
Ömer Faruk Aydın
5066995f72 Merge pull request #1117 from automatisch/barinali-patch-1
chore(gitlab): add empty d.ts file
2023-05-30 15:37:13 +02:00
Ali BARIN
577fe3dba8 chore(gitlab): add empty d.ts file 2023-05-30 15:33:14 +02:00
Krzysztof Dukszta-Kwiatkowski
d96f4999bc post review fixes 2023-05-30 15:21:13 +02:00
Krzysztof Dukszta-Kwiatkowski
6e80ff4eb6 post review fixes 2023-05-30 15:21:13 +02:00
Krzysztof Dukszta-Kwiatkowski
3f8f022d48 feat: gitlab triggers integration 2023-05-30 15:21:13 +02:00
Ali BARIN
93a2e2151e fix: early exit upon failed actions 2023-05-27 21:16:24 +02:00
Ömer Faruk Aydın
663a1ed9d4 Merge pull request #1108 from automatisch/docs/filter
docs: Add filter connection and actions
2023-05-24 15:42:04 +02:00
Ali BARIN
4f46c55c85 feat: add LOG_LEVEL env. var. 2023-05-24 15:35:38 +02:00
Ali BARIN
9701c98af9 feat: error log errors in action and triggers 2023-05-24 15:35:38 +02:00
Ali BARIN
aabf2a1c79 feat: debug log incoming webhook requests 2023-05-24 15:35:38 +02:00
Ali BARIN
29539b090e feat: cover arrays in error handling 2023-05-24 15:35:38 +02:00
Faruk AYDIN
1c80677ac3 docs: Add filter connection and actions 2023-05-24 15:23:38 +02:00
Ali BARIN
ad419855e9 feat(webhook/handler): use UUID for internal ids 2023-05-24 12:59:48 +02:00
Ömer Faruk Aydın
30b75943f3 Merge pull request #1103 from automatisch/release/0.7.1
Release v0.7.1
2023-05-19 20:31:09 +02:00
Faruk AYDIN
41a67b402d Release v0.7.1 2023-05-19 19:56:51 +02:00
Faruk AYDIN
caa104b1cc chore: Update version to 0.7.1 in Dockerfiles 2023-05-19 19:56:01 +02:00
Rıdvan Akca
94085f2bc8 fix(shared-drive): add missing field to payload 2023-05-19 17:55:52 +02:00
Faruk AYDIN
d39c962314 docs: Add Google Sheets to available apps 2023-05-19 16:15:46 +02:00
Ömer Faruk Aydın
706fb0f063 Merge pull request #1100 from automatisch/release/0.7.0
Release v0.7.0
2023-05-19 13:16:42 +02:00
Faruk AYDIN
b9d89b040f Release v0.7.0 2023-05-19 12:29:29 +02:00
Faruk AYDIN
41421b849a chore: Update version to 0.7.0 in Dockerfiles 2023-05-19 12:28:59 +02:00
Rıdvan Akca
324375da93 fix(shared-drive): show shared drive items 2023-05-19 07:35:49 +02:00
Ali BARIN
536446faf6 fix(twilio/receive-sms): use phonenumber sid in removing webhook 2023-05-17 12:57:02 +02:00
Rıdvan Akca
d026ac09f3 feat(google-sheets): add new worksheets trigger 2023-05-16 23:42:23 +02:00
Ali BARIN
88c93ac992 fix(dynamic-data): correct parameters 2023-05-16 17:59:04 +02:00
Ali BARIN
d540322d8b refactor(webhook): respond with 204 instead of 200 2023-05-16 16:40:12 +02:00
Ali BARIN
ad4db5e936 feat(twilio/send-sms): use dynamic phone numbers 2023-05-16 16:40:12 +02:00
Ali BARIN
25cb4d90f3 refactor(twilio/receive-sms): convert to webhook 2023-05-16 16:40:12 +02:00
Ömer Faruk Aydın
6c14a353ef Merge pull request #1093 from automatisch/openai-chat-prompt
feat(openai): add chat prompt
2023-05-16 12:46:41 +02:00
Ali BARIN
74d7d1aa98 feat(openai): add chat prompt 2023-05-15 20:41:25 +00:00
Ali BARIN
43b0d9ed29 fix: refetch step executions upon deleting and testing steps 2023-05-15 16:24:26 +02:00
Ali BARIN
3572e6f65a fix: send parameters to dynamic data query 2023-05-15 16:24:17 +02:00
Ali BARIN
d23d5d2da0 feat(slack): send direct message 2023-05-15 16:24:17 +02:00
Faruk AYDIN
183b9b0d88 feat: Add enable ssl field to PostgreSQL connection 2023-05-15 16:23:43 +02:00
Faruk AYDIN
7a1af268ae chore: Remove empty line from PostgreSQL index file 2023-05-15 16:23:43 +02:00
Ali BARIN
f879b3c5b0 refactor(postgresql): rename pgClient with client 2023-05-15 16:23:43 +02:00
Ali BARIN
40be72cf65 feat(postgresql/delete): add interactive where clause entries 2023-05-15 16:23:43 +02:00
Ali BARIN
a8886571d1 feat(postgresql/update): add interactive where clause 2023-05-15 16:23:43 +02:00
Ali BARIN
1fcd51ea26 refactor(postgresql/insert): use withSchema 2023-05-15 16:23:43 +02:00
Ali BARIN
89752138be refactor(postgresql): use bindings to set run-time params 2023-05-15 16:23:43 +02:00
Ali BARIN
f29ccace2a chore(postgresql): rename app folder and add icon 2023-05-15 16:23:43 +02:00
Shehab Ghazy
0c8343e76f feat(postgresql): add auth and primitive actions 2023-05-15 16:23:43 +02:00
Ali BARIN
9776c9f5a4 feat: add duplicate flow functionality 2023-05-13 14:44:21 +02:00
Ali BARIN
a5dbac9817 feat(ExecutionStep): show execution date 2023-05-13 13:20:05 +02:00
Ali BARIN
bad5e0b855 fix(queries/get-execution): serve soft deleteds 2023-05-13 13:19:53 +02:00
Ali BARIN
8e4ca55560 feat(ControlledAutocomplete): filter by value too 2023-05-13 13:19:42 +02:00
Ali BARIN
f52afc1fe0 chore: serve graphql explorer only on development 2023-05-13 13:19:35 +02:00
Ali BARIN
815e64302e fix(Editor): don't unregister step parameters 2023-05-13 13:19:28 +02:00
Faruk AYDIN
07b2b18a4e fix: Run remove cancelled subscriptions only in the cloud 2023-05-12 13:30:06 +02:00
Ömer Faruk Aydın
69eca33de7 Merge pull request #1080 from automatisch/docs-postgres-ssl
docs: Add POSTGRES_ENABLE_SSL env variable to configuration
2023-05-11 14:50:32 +02:00
Faruk AYDIN
ec76a480d0 docs: Add POSTGRES_ENABLE_SSL env variable to configuration 2023-05-11 13:58:02 +02:00
Ali BARIN
a8823c3ed0 fix(filters/continue): cover multiple conditions 2023-05-09 18:28:51 +02:00
Ali BARIN
1f1b3a341c refactor: make sentry cloud agnostic 2023-05-09 13:17:33 +02:00
Ali BARIN
8c164a3852 fix(http-request): suppress failure upon size check 2023-05-08 14:45:41 +02:00
Ali BARIN
dcf526d810 feat(http-request): convert non-text data to base64 2023-05-08 12:52:09 +02:00
Ali BARIN
2fc6d680a0 fix: incorporate spaces in variables 2023-05-08 12:52:09 +02:00
Ali BARIN
f414972f33 Merge pull request #1074 from automatisch/executions-updated-at
feat: sort executions by updated at
2023-05-08 12:49:15 +02:00
Ali BARIN
69d192d989 feat: sort executions by updated at 2023-05-02 09:30:41 +00:00
Ömer Faruk Aydın
6c8769e598 Merge pull request #1071 from automatisch/paddle-plans
feat: Introduce new plans for the cloud
2023-04-26 13:21:18 +02:00
Faruk AYDIN
c12703422c feat: Introduce new plans for the cloud 2023-04-26 12:13:39 +02:00
Ömer Faruk Aydın
c0171e1cd1 Merge pull request #1070 from automatisch/dockerfile.cloud
chore: add dockerfile for cloud
2023-04-26 11:20:00 +02:00
Ali BARIN
920a983146 chore: add dockerfile for cloud 2023-04-25 20:43:48 +00:00
Ömer Faruk Aydın
7ec86bfef1 Merge pull request #1069 from automatisch/release/0.6.1
Release v0.6.1
2023-04-25 18:17:04 +02:00
Faruk AYDIN
d8bc318688 Release v0.6.1 2023-04-25 17:15:20 +02:00
Faruk AYDIN
600ea1848f chore: Update version to 0.6.1 in Dockerfiles 2023-04-25 17:14:43 +02:00
Ömer Faruk Aydın
a3ce9c7662 Merge pull request #1068 from automatisch/copy-hbs
fix: Include email templates for the build
2023-04-25 17:10:50 +02:00
Faruk AYDIN
44ce7577c6 fix: Include email templates for the build 2023-04-25 17:07:46 +02:00
Ömer Faruk Aydın
8c3e42f7eb Merge pull request #1067 from automatisch/company-name
chore: Use company name for the enterprise license
2023-04-24 18:20:34 +02:00
Faruk AYDIN
b8887c506c chore: Use company name for the enterprise license 2023-04-24 16:38:54 +02:00
Ömer Faruk Aydın
6c4228b7b8 Merge pull request #1063 from automatisch/docs/encryption-key-generation
docs: Explain how to create random keys for encryption and webhook secret keys
2023-04-20 17:07:38 +02:00
Faruk AYDIN
9b1da98386 docs: Explain how to create random keys for encryption and webhook secret keys 2023-04-19 18:44:19 +02:00
Ömer Faruk Aydın
1615169a3d Merge pull request #1060 from automatisch/release/0.6.0
Release v0.6.0
2023-04-17 19:05:25 +02:00
Faruk AYDIN
df83aa4d15 chore: Update version with 0.6.0 2023-04-17 18:37:24 +02:00
2870 changed files with 110782 additions and 62861 deletions

View File

@@ -5,8 +5,11 @@ BACKEND_PORT=3000
WEB_PORT=3001
echo "Configuring backend environment variables..."
cd packages/backend
rm -rf .env
echo "
PORT=$BACKEND_PORT
WEB_APP_URL=http://localhost:$WEB_PORT
@@ -21,25 +24,35 @@ WEBHOOK_SECRET_KEY=sample_webhook_secret_key
APP_SECRET_KEY=sample_app_secret_key
REDIS_HOST=redis
SERVE_WEB_APP_SEPARATELY=true" >> .env
echo "Installing backend dependencies..."
yarn
cd $CURRENT_DIR
echo "Configuring web environment variables..."
cd packages/web
rm -rf .env
echo "
PORT=$WEB_PORT
REACT_APP_GRAPHQL_URL=http://localhost:$BACKEND_PORT/graphql
REACT_APP_NOTIFICATIONS_URL=https://notifications.automatisch.io
REACT_APP_BACKEND_URL=http://localhost:$BACKEND_PORT
" >> .env
echo "Installing web dependencies..."
yarn
cd $CURRENT_DIR
echo "Installing and linking dependencies..."
yarn
yarn lerna bootstrap
echo "Migrating database..."
cd packages/backend
yarn db:migrate
yarn db:seed:user
echo "Done!"
echo "Done!"

View File

@@ -8,7 +8,7 @@
"version": "latest"
},
"ghcr.io/devcontainers/features/node:1": {
"version": 16
"version": 18
},
"ghcr.io/devcontainers/features/common-utils:1": {
"username": "vscode",

View File

@@ -33,7 +33,31 @@ services:
- '6379:6379'
expose:
- 6379
keycloak:
image: quay.io/keycloak/keycloak:21.1
restart: always
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=admin
- KC_DB=postgres
- KC_DB_URL_HOST=postgres
- KC_DB_URL_DATABASE=keycloak
- KC_DB_USERNAME=automatisch_user
- KC_DB_PASSWORD=automatisch_password
- KC_HEALTH_ENABLED=true
ports:
- "8080:8080"
command: start-dev
depends_on:
- postgres
healthcheck:
test: "curl -f http://localhost:8080/health/ready || exit 1"
volumes:
- keycloak:/opt/keycloak/data/
expose:
- 8080
volumes:
postgres_data:
redis_data:
keycloak:

12
.dockerignore Normal file
View File

@@ -0,0 +1,12 @@
**/node_modules/
**/dist/
**/logs/
**/.devcontainer
**/.github
**/.vscode
**/.env
**/.env.test
**/.env.production
**/yarn-error.log
packages/docs
packages/e2e-test

View File

@@ -1,10 +0,0 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'prettier',
],
};

51
.github/workflows/backend.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Automatisch Backend Tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
test:
timeout-minutes: 60
runs-on:
- ubuntu-latest
services:
postgres:
image: postgres:14.5-alpine
env:
POSTGRES_DB: automatisch_test
POSTGRES_USER: automatisch_test_user
POSTGRES_PASSWORD: automatisch_test_user_password
options: >-
--health-cmd "pg_isready -U automatisch_test_user -d automatisch_test"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7.0.4-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: yarn
working-directory: packages/backend
- name: Copy .env-example.test file to .env.test
run: cp .env-example.test .env.test
working-directory: packages/backend
- name: Run tests
run: yarn test:coverage
working-directory: packages/backend

View File

@@ -1,5 +1,11 @@
name: Automatisch CI
on: [push]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
linter:
runs-on: ubuntu-latest
@@ -10,15 +16,17 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'
cache: 'yarn'
cache-dependency-path: yarn.lock
cache-dependency-path: packages/backend/yarn.lock
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- run: yarn --frozen-lockfile
working-directory: packages/backend
- run: yarn lint
working-directory: packages/backend
- run: echo "🍏 This job's status is ${{ job.status }}."
build-backend:
start-backend-server:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
@@ -27,13 +35,40 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'
cache: 'yarn'
cache-dependency-path: yarn.lock
cache-dependency-path: packages/backend/yarn.lock
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- run: yarn --frozen-lockfile && yarn lerna bootstrap
- run: cd packages/backend && yarn build
- run: yarn --frozen-lockfile
working-directory: packages/backend
- run: yarn start
working-directory: packages/backend
env:
ENCRYPTION_KEY: sample_encryption_key
WEBHOOK_SECRET_KEY: sample_webhook_secret_key
- run: echo "🍏 This job's status is ${{ job.status }}."
start-backend-worker:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '18'
cache: 'yarn'
cache-dependency-path: packages/backend/yarn.lock
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- run: yarn --frozen-lockfile
working-directory: packages/backend
- run: yarn start:worker
working-directory: packages/backend
env:
ENCRYPTION_KEY: sample_encryption_key
WEBHOOK_SECRET_KEY: sample_webhook_secret_key
- run: echo "🍏 This job's status is ${{ job.status }}."
build-web:
runs-on: ubuntu-latest
@@ -44,31 +79,15 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'
cache: 'yarn'
cache-dependency-path: yarn.lock
cache-dependency-path: packages/web/yarn.lock
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- run: yarn --frozen-lockfile && yarn lerna bootstrap
- run: cd packages/web && yarn build
- run: yarn --frozen-lockfile
working-directory: packages/web
- run: yarn build
working-directory: packages/web
env:
CI: false
- run: echo "🍏 This job's status is ${{ job.status }}."
build-cli:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'yarn'
cache-dependency-path: yarn.lock
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- run: yarn --frozen-lockfile && yarn lerna bootstrap
- run: cd packages/backend && yarn build
- run: cd packages/cli && yarn build
- run: echo "🍏 This job's status is ${{ job.status }}."

32
.github/workflows/docs-change.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Automatisch Docs Change
on:
pull_request:
paths:
- 'packages/docs/**'
jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Label PR
uses: actions/github-script@v6
with:
script: |
const { pull_request } = context.payload;
const label = 'documentation-change';
const hasLabel = pull_request.labels.some(({ name }) => name === label);
if (!hasLabel) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pull_request.number,
labels: [label],
});
console.log(`Label "${label}" added to PR #${pull_request.number}`);
} else {
console.log(`Label "${label}" already exists on PR #${pull_request.number}`);
}

127
.github/workflows/playwright.yml vendored Normal file
View File

@@ -0,0 +1,127 @@
name: Automatisch UI Tests
on:
push:
branches:
- main
pull_request:
paths:
- 'packages/backend/**'
- 'packages/e2e-tests/**'
- 'packages/web/**'
- '!packages/backend/src/apps/**'
workflow_dispatch:
env:
ENCRYPTION_KEY: sample_encryption_key
WEBHOOK_SECRET_KEY: sample_webhook_secret_key
APP_SECRET_KEY: sample_app_secret_key
POSTGRES_HOST: localhost
POSTGRES_DATABASE: automatisch
POSTGRES_PORT: 5432
POSTGRES_USERNAME: automatisch_user
POSTGRES_PASSWORD: automatisch_password
REDIS_HOST: localhost
APP_ENV: production
LICENSE_KEY: dummy_license_key
jobs:
test:
timeout-minutes: 60
runs-on:
- ubuntu-latest
services:
postgres:
image: postgres:14.5-alpine
env:
POSTGRES_DB: automatisch
POSTGRES_USER: automatisch_user
POSTGRES_PASSWORD: automatisch_password
options: >-
--health-cmd "pg_isready -U automatisch_user -d automatisch"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7.0.4-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install web dependencies
run: yarn
working-directory: ./packages/web
- name: Install backend dependencies
run: yarn
working-directory: ./packages/backend
- name: Install e2e-tests dependencies
run: yarn
working-directory: ./packages/e2e-tests
- name: Install Playwright Browsers
run: yarn playwright install --with-deps
working-directory: ./packages/e2e-tests
- name: Build Automatisch web
run: yarn build
working-directory: ./packages/web
env:
# Keep this until we clean up warnings in build processes
CI: false
- name: Migrate database
working-directory: ./packages/backend
run: yarn db:migrate
- name: Install certutils
run: sudo apt install -y libnss3-tools
- name: Install mkcert
run: |
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64" \
&& chmod +x mkcert-v*-linux-amd64 \
&& sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
- name: Install root certificate via mkcert
run: mkcert -install
- name: Create certificate
run: mkcert automatisch.io "*.automatisch.io" localhost 127.0.0.1 ::1
working-directory: ./packages/e2e-tests
- name: Set CAROOT environment variable
run: echo "NODE_EXTRA_CA_CERTS=$(mkcert -CAROOT)/rootCA.pem" >> "$GITHUB_ENV"
- name: Override license server with local server
run: sudo echo "127.0.0.1 license.automatisch.io" | sudo tee -a /etc/hosts
- name: Run local license server
working-directory: ./packages/e2e-tests
run: sudo yarn start-mock-license-server &
- name: Run Automatisch
run: yarn start &
working-directory: ./packages/backend
- name: Run Automatisch worker
run: yarn start:worker &
working-directory: ./packages/backend
- name: Setup upterm session
if: false
uses: lhotari/action-upterm@v1
with:
limit-access-to-actor: true
limit-access-to-users: barinali
- name: Run Playwright tests
working-directory: ./packages/e2e-tests
env:
LOGIN_EMAIL: user@automatisch.io
LOGIN_PASSWORD: sample
BASE_URL: http://localhost:3000
GITHUB_CLIENT_ID: 1c0417daf898adfbd99a
GITHUB_CLIENT_SECRET: 3328fa814dd582ccd03dbe785cfd683fb8da92b3
run: yarn test
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: packages/e2e-tests/test-results
retention-days: 30

4
.gitignore vendored
View File

@@ -4,7 +4,6 @@ logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
@@ -125,3 +124,6 @@ dist
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# MacOS finder preferences
.DS_store

1
.node-version Normal file
View File

@@ -0,0 +1 @@
18.19.0

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
18.19.0

View File

@@ -1,4 +1,7 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

View File

@@ -1,5 +1,5 @@
The Automatisch Enterprise license (the “Enterprise License”)
Copyright (c) 2023 Ömer Faruk Aydın, Ali Barın.
Copyright (c) 2023-present AB Software GmbH.
With regard to the Automatisch Software:

View File

@@ -1,14 +1,27 @@
# syntax=docker/dockerfile:1
FROM node:16-alpine
WORKDIR /automatisch
FROM node:18-alpine
ENV PORT=3000
RUN \
apk --no-cache add --virtual build-dependencies python3 build-base git make g++
WORKDIR /automatisch
# copy the app, note .dockerignore
COPY . /automatisch
RUN cd packages/web && yarn
RUN cd packages/web && yarn build
RUN cd packages/backend && yarn --production
RUN \
apk --no-cache add --virtual build-dependencies python3 build-base && \
yarn global add @automatisch/cli@0.5.0 --network-timeout 1000000 && \
rm -rf /usr/local/share/.cache/ && \
apk del build-dependencies
COPY ./entrypoint.sh /entrypoint.sh
COPY ./docker/entrypoint.sh /entrypoint.sh
EXPOSE 3000
ENTRYPOINT ["sh", "/entrypoint.sh"]

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1
FROM automatischio/automatisch:0.5.0
FROM automatischio/automatisch:latest
WORKDIR /automatisch
RUN apk add --no-cache openssl dos2unix

View File

@@ -2,8 +2,12 @@
set -e
cd packages/backend
if [ -n "$WORKER" ]; then
automatisch start-worker
yarn start:worker
else
automatisch start
yarn db:migrate
yarn db:seed:user
yarn start
fi

View File

@@ -1,13 +0,0 @@
{
"packages": [
"packages/*"
],
"version": "0.6.0",
"npmClient": "yarn",
"useWorkspaces": true,
"command": {
"add": {
"exact": true
}
}
}

View File

@@ -1,37 +0,0 @@
{
"name": "@automatisch/root",
"license": "See LICENSE file",
"private": true,
"scripts": {
"start": "lerna run --stream --parallel --scope=@*/{web,backend} dev",
"start:web": "lerna run --stream --scope=@*/web dev",
"start:backend": "lerna run --stream --scope=@*/backend dev",
"lint": "lerna run --no-bail --stream --parallel --scope=@*/{web,backend,cli} lint",
"build:watch": "lerna run --no-bail --stream --parallel --scope=@*/{web,backend,cli} build:watch",
"build:docs": "cd ./packages/docs && yarn install && yarn build"
},
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/babel-loader",
"**/webpack",
"**/@automatisch/web",
"**/@automatisch/types",
"**/ajv"
]
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.9.1",
"@typescript-eslint/parser": "^5.9.1",
"eslint": "^8.13.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"lerna": "^4.0.0",
"prettier": "^2.5.1"
},
"publishConfig": {
"access": "public"
}
}

View File

@@ -0,0 +1,15 @@
APP_ENV=test
HOST=localhost
PROTOCOL=http
PORT=3000
LOG_LEVEL=debug
ENCRYPTION_KEY=sample_encryption_key
WEBHOOK_SECRET_KEY=sample_webhook_secret_key
APP_SECRET_KEY=sample_app_secret_key
POSTGRES_HOST=localhost
POSTGRES_DATABASE=automatisch_test
POSTGRES_PORT=5432
POSTGRES_USERNAME=automatisch_test_user
POSTGRES_PASSWORD=automatisch_test_user_password
REDIS_HOST=localhost
AUTOMATISCH_CLOUD=true

View File

@@ -0,0 +1,12 @@
{
"root": true,
"env": {
"node": true,
"es6": true
},
"extends": ["eslint:recommended", "prettier"],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
}
}

View File

@@ -0,0 +1,9 @@
import pg from 'pg';
const client = new pg.Client({
host: 'localhost',
user: 'postgres',
port: 5432,
});
export default client;

View File

@@ -1,9 +0,0 @@
import { Client } from 'pg';
const client = new Client({
host: 'localhost',
user: 'postgres',
port: 5432,
});
export default client;

View File

@@ -0,0 +1,31 @@
import appConfig from '../../src/config/app.js';
import logger from '../../src/helpers/logger.js';
import '../../src/config/orm.js';
import { client as knex } from '../../src/config/database.js';
export const renameMigrationsAsJsFiles = async () => {
if (!appConfig.isDev) {
return;
}
try {
const tableExists = await knex.schema.hasTable('knex_migrations');
if (tableExists) {
await knex('knex_migrations')
.where('name', 'like', '%.ts')
.update({
name: knex.raw("REPLACE(name, '.ts', '.js')"),
});
logger.info(
`Migration file names with typescript renamed as JS file names!`
);
}
} catch (err) {
logger.error(err.message);
}
await knex.destroy();
};
renameMigrationsAsJsFiles();

View File

@@ -0,0 +1,3 @@
import { createDatabaseAndUser } from './utils.js';
createDatabaseAndUser();

View File

@@ -1,3 +0,0 @@
import { createDatabaseAndUser } from './utils';
createDatabaseAndUser();

View File

@@ -0,0 +1,3 @@
import { dropDatabase } from './utils.js';
dropDatabase();

View File

@@ -1,3 +0,0 @@
import { dropDatabase } from './utils';
dropDatabase();

View File

@@ -0,0 +1,3 @@
import { createUser } from './utils.js';
createUser();

View File

@@ -1,3 +0,0 @@
import { createUser } from './utils';
createUser();

View File

@@ -0,0 +1,145 @@
import appConfig from '../../src/config/app.js';
import logger from '../../src/helpers/logger.js';
import client from './client.js';
import User from '../../src/models/user.js';
import Config from '../../src/models/config.js';
import Role from '../../src/models/role.js';
import '../../src/config/orm.js';
import process from 'process';
async function fetchAdminRole() {
const role = await Role.query()
.where({
name: 'Admin',
})
.limit(1)
.first();
return role;
}
export async function createUser(
email = 'user@automatisch.io',
password = 'sample'
) {
if (appConfig.disableSeedUser) {
logger.info('Seed user is disabled.');
process.exit(0);
return;
}
const UNIQUE_VIOLATION_CODE = '23505';
const role = await fetchAdminRole();
const userParams = {
email,
password,
fullName: 'Initial admin',
roleId: role.id,
};
try {
const userCount = await User.query().resultSize();
if (userCount === 0) {
const user = await User.query().insertAndFetch(userParams);
logger.info(`User has been saved: ${user.email}`);
await Config.markInstallationCompleted();
} else {
logger.info('No need to seed a user.');
}
} catch (err) {
if (err.nativeError.code !== UNIQUE_VIOLATION_CODE) {
throw err;
}
logger.info(`User already exists: ${email}`);
}
process.exit(0);
}
export const createDatabaseAndUser = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.connect();
await createDatabase(database);
await createDatabaseUser(user);
await grantPrivileges(database, user);
await client.end();
process.exit(0);
};
export const createDatabase = async (database = appConfig.postgresDatabase) => {
const DUPLICATE_DB_CODE = '42P04';
try {
await client.query(`CREATE DATABASE ${database}`);
logger.info(`Database: ${database} created!`);
} catch (err) {
if (err.code !== DUPLICATE_DB_CODE) {
throw err;
}
logger.info(`Database: ${database} already exists!`);
}
};
export const createDatabaseUser = async (user = appConfig.postgresUsername) => {
const DUPLICATE_OBJECT_CODE = '42710';
try {
const result = await client.query(`CREATE USER ${user}`);
logger.info(`Database User: ${user} created!`);
return result;
} catch (err) {
if (err.code !== DUPLICATE_OBJECT_CODE) {
throw err;
}
logger.info(`Database User: ${user} already exists!`);
}
};
export const grantPrivileges = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.query(
`GRANT ALL PRIVILEGES ON DATABASE ${database} TO ${user};`
);
logger.info(`${user} has granted all privileges on ${database}!`);
};
export const dropDatabase = async () => {
if (appConfig.appEnv != 'development' && appConfig.appEnv != 'test') {
const errorMessage =
'Drop database command can be used only with development or test environments!';
logger.error(errorMessage);
return;
}
await client.connect();
await dropDatabaseAndUser();
await client.end();
};
export const dropDatabaseAndUser = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.query(`DROP DATABASE IF EXISTS ${database}`);
logger.info(`Database: ${database} removed!`);
await client.query(`DROP USER IF EXISTS ${user}`);
logger.info(`Database User: ${user} removed!`);
};

View File

@@ -1,116 +0,0 @@
import appConfig from '../../src/config/app';
import logger from '../../src/helpers/logger';
import client from './client';
import User from '../../src/models/user';
import '../../src/config/orm';
export async function createUser(
email = 'user@automatisch.io',
password = 'sample'
) {
const UNIQUE_VIOLATION_CODE = '23505';
const userParams = {
email,
password,
fullName: 'Initial admin',
role: 'admin',
};
try {
const userCount = await User.query().resultSize();
if (userCount === 0) {
const user = await User.query().insertAndFetch(userParams);
logger.info(`User has been saved: ${user.email}`);
} else {
logger.info('No need to seed a user.');
}
} catch (err) {
if ((err as any).nativeError.code !== UNIQUE_VIOLATION_CODE) {
throw err;
}
logger.info(`User already exists: ${email}`);
}
}
export const createDatabaseAndUser = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.connect();
await createDatabase(database);
await createDatabaseUser(user);
await grantPrivileges(database, user);
await client.end();
};
export const createDatabase = async (database = appConfig.postgresDatabase) => {
const DUPLICATE_DB_CODE = '42P04';
try {
await client.query(`CREATE DATABASE ${database}`);
logger.info(`Database: ${database} created!`);
} catch (err) {
if ((err as any).code !== DUPLICATE_DB_CODE) {
throw err;
}
logger.info(`Database: ${database} already exists!`);
}
};
export const createDatabaseUser = async (user = appConfig.postgresUsername) => {
const DUPLICATE_OBJECT_CODE = '42710';
try {
const result = await client.query(`CREATE USER ${user}`);
logger.info(`Database User: ${user} created!`);
return result;
} catch (err) {
if ((err as any).code !== DUPLICATE_OBJECT_CODE) {
throw err;
}
logger.info(`Database User: ${user} already exists!`);
}
};
export const grantPrivileges = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.query(
`GRANT ALL PRIVILEGES ON DATABASE ${database} TO ${user};`
);
logger.info(`${user} has granted all privileges on ${database}!`);
};
export const dropDatabase = async () => {
if (appConfig.appEnv != 'development' && appConfig.appEnv != 'test') {
const errorMessage =
'Drop database command can be used only with development or test environments!';
logger.error(errorMessage);
return;
}
await client.connect();
await dropDatabaseAndUser();
await client.end();
};
export const dropDatabaseAndUser = async (
database = appConfig.postgresDatabase,
user = appConfig.postgresUsername
) => {
await client.query(`DROP DATABASE IF EXISTS ${database}`);
logger.info(`Database: ${database} removed!`);
await client.query(`DROP USER IF EXISTS ${user}`);
logger.info(`Database User: ${user} removed!`);
};

View File

@@ -1 +0,0 @@
export * from './dist/bin/database/utils';

View File

@@ -1,2 +0,0 @@
/* eslint-disable */
module.exports = require('./dist/bin/database/utils');

View File

@@ -1 +0,0 @@
export * from './dist/src/config/database';

View File

@@ -1,2 +0,0 @@
/* eslint-disable */
module.exports = require('./dist/src/config/database');

View File

@@ -0,0 +1,33 @@
import { knexSnakeCaseMappers } from 'objection';
import appConfig from './src/config/app.js';
import path, { join } from 'path';
import { fileURLToPath } from 'url';
const fileExtension = 'js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const knexConfig = {
client: 'pg',
connection: {
host: appConfig.postgresHost,
port: appConfig.postgresPort,
user: appConfig.postgresUsername,
password: appConfig.postgresPassword,
database: appConfig.postgresDatabase,
ssl: appConfig.postgresEnableSsl,
},
asyncStackTraces: appConfig.isDev,
searchPath: [appConfig.postgresSchema],
pool: { min: 0, max: 20 },
migrations: {
directory: join(__dirname, '/src/db/migrations'),
extension: fileExtension,
loadExtensions: [`.${fileExtension}`],
},
seeds: {
directory: join(__dirname, '/src/db/seeds'),
},
...(appConfig.isTest ? knexSnakeCaseMappers() : {}),
};
export default knexConfig;

View File

@@ -1,27 +0,0 @@
import appConfig from './src/config/app';
const fileExtension = appConfig.isDev ? 'ts' : 'js';
const knexConfig = {
client: 'pg',
connection: {
host: appConfig.postgresHost,
port: appConfig.postgresPort,
user: appConfig.postgresUsername,
password: appConfig.postgresPassword,
database: appConfig.postgresDatabase,
ssl: appConfig.postgresEnableSsl,
},
searchPath: [appConfig.postgresSchema],
pool: { min: 0, max: 20 },
migrations: {
directory: __dirname + '/src/db/migrations',
extension: fileExtension,
loadExtensions: [`.${fileExtension}`],
},
seeds: {
directory: __dirname + '/src/db/seeds',
},
};
export default knexConfig;

View File

@@ -1 +0,0 @@
export * from './dist/src/helpers/logger';

View File

@@ -1,2 +0,0 @@
/* eslint-disable */
module.exports = require('./dist/src/helpers/logger');

View File

@@ -1,68 +1,77 @@
{
"name": "@automatisch/backend",
"version": "0.6.0",
"version": "0.10.0",
"license": "See LICENSE file",
"description": "The open source Zapier alternative. Build workflow automation without spending time and money.",
"type": "module",
"scripts": {
"dev": "ts-node-dev --exit-child src/server.ts",
"worker": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/worker.ts",
"build": "tsc && yarn copy-statics",
"build:watch": "nodemon --watch 'src/**/*.ts' --watch 'bin/**/*.ts' --exec yarn build --ext ts",
"start": "node dist/src/server.js",
"test": "ava",
"lint": "eslint . --ignore-path ../../.eslintignore",
"db:create": "ts-node ./bin/database/create.ts",
"db:seed:user": "ts-node ./bin/database/seed-user.ts",
"db:drop": "ts-node ./bin/database/drop.ts",
"dev": "nodemon --exec node src/server.js",
"worker": "nodemon --exec node src/worker.js",
"start": "node src/server.js",
"start:worker": "node src/worker.js",
"pretest": "APP_ENV=test node ./test/setup/prepare-test-env.js",
"test": "APP_ENV=test vitest run",
"test:watch": "APP_ENV=test vitest watch",
"test:coverage": "yarn test --coverage",
"lint": "eslint .",
"db:create": "node ./bin/database/create.js",
"db:seed:user": "node ./bin/database/seed-user.js",
"db:drop": "node ./bin/database/drop.js",
"db:migration:create": "knex migrate:make",
"db:rollback": "knex migrate:rollback",
"db:migrate": "knex migrate:latest",
"copy-statics": "copyfiles src/**/*.{graphql,json,svg} dist",
"prepack": "yarn build",
"prebuild": "rm -rf ./dist"
"db:migrate": "node ./bin/database/convert-migrations.js && knex migrate:latest"
},
"dependencies": {
"@automatisch/web": "^0.6.0",
"@bull-board/express": "^3.10.1",
"@graphql-tools/graphql-file-loader": "^7.3.4",
"@graphql-tools/load": "^7.5.2",
"@casl/ability": "^6.5.0",
"@faker-js/faker": "^9.2.0",
"@node-saml/passport-saml": "^4.0.4",
"@rudderstack/rudder-sdk-node": "^1.1.2",
"@sentry/node": "^7.42.0",
"@sentry/tracing": "^7.42.0",
"@types/luxon": "^2.3.1",
"accounting": "^0.4.1",
"ajv-formats": "^2.1.1",
"axios": "0.24.0",
"bcrypt": "^5.0.1",
"axios": "1.6.0",
"bcrypt": "^5.1.0",
"bullmq": "^3.0.0",
"copyfiles": "^2.4.1",
"cors": "^2.8.5",
"crypto-js": "^4.1.1",
"debug": "~2.6.9",
"dotenv": "^10.0.0",
"eslint": "^8.13.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"express": "~4.18.2",
"express-async-errors": "^3.1.1",
"express-basic-auth": "^1.2.1",
"express-graphql": "^0.12.0",
"fast-xml-parser": "^4.0.11",
"graphql-middleware": "^6.1.15",
"graphql-shield": "^7.5.0",
"graphql-tools": "^8.2.0",
"graphql-type-json": "^0.3.2",
"handlebars": "^4.7.7",
"http-errors": "~1.6.3",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.1",
"isolated-vm": "^5.0.1",
"jsonwebtoken": "^9.0.0",
"knex": "^2.4.0",
"libphonenumber-js": "^1.10.48",
"lodash.get": "^4.4.2",
"luxon": "2.5.2",
"memory-cache": "^0.2.0",
"morgan": "^1.10.0",
"multer": "1.4.5-lts.1",
"node-html-markdown": "^1.3.0",
"nodemailer": "6.7.0",
"oauth-1.0a": "^2.2.6",
"objection": "^3.0.0",
"passport": "^0.6.0",
"pg": "^8.7.1",
"php-serialize": "^4.0.2",
"stripe": "^11.13.0",
"winston": "^3.7.1"
"pluralize": "^8.0.0",
"prettier": "^2.5.1",
"raw-body": "^2.5.2",
"showdown": "^2.1.0",
"uuid": "^9.0.1",
"winston": "^3.7.1",
"xmlrpc": "^1.3.2"
},
"contributors": [
{
@@ -71,26 +80,15 @@
}
],
"homepage": "https://github.com/automatisch/automatisch#readme",
"main": "dist/src/app",
"main": "src/server",
"directories": {
"bin": "bin",
"src": "src",
"test": "__tests__"
},
"files": [
"dist",
"bin",
"src",
"server.js",
"server.d.ts",
"worker.js",
"worker.d.ts",
"logger.js",
"logger.d.ts",
"database.js",
"database.d.ts",
"database-utils.js",
"database-utils.d.ts"
"src"
],
"repository": {
"type": "git",
@@ -100,40 +98,19 @@
"url": "https://github.com/automatisch/automatisch/issues"
},
"devDependencies": {
"@automatisch/types": "^0.6.0",
"@types/bcrypt": "^5.0.0",
"@types/bull": "^3.15.8",
"@types/cors": "^2.8.12",
"@types/crypto-js": "^4.0.2",
"@types/express": "^4.17.15",
"@types/http-errors": "^1.8.1",
"@types/jsonwebtoken": "^8.5.8",
"@types/lodash.get": "^4.4.6",
"@types/memory-cache": "^0.2.2",
"@types/morgan": "^1.9.3",
"@types/multer": "1.4.7",
"@types/node": "^16.10.2",
"@types/nodemailer": "^6.4.4",
"@types/pg": "^8.6.1",
"@types/pino": "^7.0.5",
"ava": "^3.15.0",
"@vitest/coverage-v8": "^2.1.5",
"node-gyp": "^10.1.0",
"nodemon": "^2.0.13",
"sinon": "^11.1.2",
"ts-node": "^10.2.1",
"ts-node-dev": "^1.1.8"
},
"ava": {
"files": [
"test/**/*"
],
"extensions": [
"ts"
],
"require": [
"ts-node/register"
]
"supertest": "^6.3.3",
"vitest": "^2.1.5"
},
"publishConfig": {
"access": "public"
},
"nodemonConfig": {
"watch": [
"src/"
],
"ext": "js"
}
}

View File

@@ -1 +0,0 @@
export * from './dist/src/server';

View File

@@ -1,2 +0,0 @@
/* eslint-disable */
module.exports = require('./dist/src/server.js');

View File

@@ -0,0 +1,71 @@
import createError from 'http-errors';
import express from 'express';
import 'express-async-errors';
import cors from 'cors';
import appConfig from './config/app.js';
import corsOptions from './config/cors-options.js';
import morgan from './helpers/morgan.js';
import * as Sentry from './helpers/sentry.ee.js';
import appAssetsHandler from './helpers/app-assets-handler.js';
import webUIHandler from './helpers/web-ui-handler.js';
import errorHandler from './helpers/error-handler.js';
import './config/orm.js';
import {
createBullBoardHandler,
serverAdapter,
} from './helpers/create-bull-board-handler.js';
import injectBullBoardHandler from './helpers/inject-bull-board-handler.js';
import router from './routes/index.js';
import configurePassport from './helpers/passport.js';
createBullBoardHandler(serverAdapter);
const app = express();
Sentry.init(app);
Sentry.attachRequestHandler(app);
Sentry.attachTracingHandler(app);
injectBullBoardHandler(app, serverAdapter);
appAssetsHandler(app);
app.use(morgan);
app.use(
express.json({
limit: appConfig.requestBodySizeLimit,
verify(req, res, buf) {
req.rawBody = buf;
},
})
);
app.use(
express.urlencoded({
extended: true,
limit: appConfig.requestBodySizeLimit,
verify(req, res, buf) {
req.rawBody = buf;
},
})
);
app.use(cors(corsOptions));
configurePassport(app);
app.use('/', router);
webUIHandler(app);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
Sentry.attachErrorHandler(app);
app.use(errorHandler);
export default app;

View File

@@ -1,66 +0,0 @@
import createError from 'http-errors';
import express from 'express';
import cors from 'cors';
import { IRequest } from '@automatisch/types';
import appConfig from './config/app';
import corsOptions from './config/cors-options';
import morgan from './helpers/morgan';
import * as Sentry from './helpers/sentry.ee';
import appAssetsHandler from './helpers/app-assets-handler';
import webUIHandler from './helpers/web-ui-handler';
import errorHandler from './helpers/error-handler';
import './config/orm';
import {
createBullBoardHandler,
serverAdapter,
} from './helpers/create-bull-board-handler';
import injectBullBoardHandler from './helpers/inject-bull-board-handler';
import router from './routes';
createBullBoardHandler(serverAdapter);
const app = express();
Sentry.init(app);
Sentry.attachRequestHandler(app);
Sentry.attachTracingHandler(app);
injectBullBoardHandler(app, serverAdapter);
appAssetsHandler(app);
app.use(morgan);
app.use(
express.json({
limit: appConfig.requestBodySizeLimit,
verify(req, res, buf) {
(req as IRequest).rawBody = buf;
},
})
);
app.use(
express.urlencoded({
extended: true,
limit: appConfig.requestBodySizeLimit,
verify(req, res, buf) {
(req as IRequest).rawBody = buf;
},
})
);
app.use(cors(corsOptions));
app.use('/', router);
webUIHandler(app);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
Sentry.attachErrorHandler(app);
app.use(errorHandler);
export default app;

View File

@@ -0,0 +1,92 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Create record',
key: 'createRecord',
description: 'Creates a new record with fields that automatically populate.',
arguments: [
{
label: 'Base',
key: 'baseId',
type: 'dropdown',
required: true,
description: 'Base in which to create the record.',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listBases',
},
],
},
},
{
label: 'Table',
key: 'tableId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.baseId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listTables',
},
{
name: 'parameters.baseId',
value: '{parameters.baseId}',
},
],
},
additionalFields: {
type: 'query',
name: 'getDynamicFields',
arguments: [
{
name: 'key',
value: 'listFields',
},
{
name: 'parameters.baseId',
value: '{parameters.baseId}',
},
{
name: 'parameters.tableId',
value: '{parameters.tableId}',
},
],
},
},
],
async run($) {
const { baseId, tableId, ...rest } = $.step.parameters;
const fields = Object.entries(rest).reduce((result, [key, value]) => {
if (Array.isArray(value)) {
result[key] = value.map((item) => item.value);
} else if (value !== '') {
result[key] = value;
}
return result;
}, {});
const body = {
typecast: true,
fields,
};
const { data } = await $.http.post(`/v0/${baseId}/${tableId}`, body);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,174 @@
import defineAction from '../../../../helpers/define-action.js';
import { URLSearchParams } from 'url';
export default defineAction({
name: 'Find record',
key: 'findRecord',
description:
"Finds a record using simple field search or use Airtable's formula syntax to find a matching record.",
arguments: [
{
label: 'Base',
key: 'baseId',
type: 'dropdown',
required: true,
description: 'Base in which to create the record.',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listBases',
},
],
},
},
{
label: 'Table',
key: 'tableId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.baseId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listTables',
},
{
name: 'parameters.baseId',
value: '{parameters.baseId}',
},
],
},
},
{
label: 'Search by field',
key: 'tableField',
type: 'dropdown',
required: false,
dependsOn: ['parameters.baseId', 'parameters.tableId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listTableFields',
},
{
name: 'parameters.baseId',
value: '{parameters.baseId}',
},
{
name: 'parameters.tableId',
value: '{parameters.tableId}',
},
],
},
},
{
label: 'Search Value',
key: 'searchValue',
type: 'string',
required: false,
variables: true,
description:
'The value of unique identifier for the record. For date values, please use the ISO format (e.g., "YYYY-MM-DD").',
},
{
label: 'Search for exact match?',
key: 'exactMatch',
type: 'dropdown',
required: true,
description: '',
variables: true,
options: [
{ label: 'Yes', value: 'true' },
{ label: 'No', value: 'false' },
],
},
{
label: 'Search Formula',
key: 'searchFormula',
type: 'string',
required: false,
variables: true,
description:
'Instead, you have the option to use an Airtable search formula for locating records according to sophisticated criteria and across various fields.',
},
{
label: 'Limit to View',
key: 'limitToView',
type: 'dropdown',
required: false,
dependsOn: ['parameters.baseId', 'parameters.tableId'],
description:
'You have the choice to restrict the search to a particular view ID if desired.',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listTableViews',
},
{
name: 'parameters.baseId',
value: '{parameters.baseId}',
},
{
name: 'parameters.tableId',
value: '{parameters.tableId}',
},
],
},
},
],
async run($) {
const {
baseId,
tableId,
tableField,
searchValue,
exactMatch,
searchFormula,
limitToView,
} = $.step.parameters;
let filterByFormula;
if (tableField && searchValue) {
filterByFormula =
exactMatch === 'true'
? `{${tableField}} = '${searchValue}'`
: `LOWER({${tableField}}) = LOWER('${searchValue}')`;
} else {
filterByFormula = searchFormula;
}
const body = new URLSearchParams({
filterByFormula,
view: limitToView,
});
const { data } = await $.http.post(
`/v0/${baseId}/${tableId}/listRecords`,
body
);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,4 @@
import createRecord from './create-record/index.js';
import findRecord from './find-record/index.js';
export default [createRecord, findRecord];

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="256px" height="215px" viewBox="0 0 256 215" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<path d="M114.25873,2.70101695 L18.8604023,42.1756384 C13.5552723,44.3711638 13.6102328,51.9065311 18.9486282,54.0225085 L114.746142,92.0117514 C123.163769,95.3498757 132.537419,95.3498757 140.9536,92.0117514 L236.75256,54.0225085 C242.08951,51.9065311 242.145916,44.3711638 236.83934,42.1756384 L141.442459,2.70101695 C132.738459,-0.900338983 122.961284,-0.900338983 114.25873,2.70101695" fill="#FFBF00"></path>
<path d="M136.349071,112.756863 L136.349071,207.659101 C136.349071,212.173089 140.900664,215.263892 145.096461,213.600615 L251.844122,172.166219 C254.281184,171.200072 255.879376,168.845451 255.879376,166.224705 L255.879376,71.3224678 C255.879376,66.8084791 251.327783,63.7176768 247.131986,65.3809537 L140.384325,106.815349 C137.94871,107.781496 136.349071,110.136118 136.349071,112.756863" fill="#26B5F8"></path>
<path d="M111.422771,117.65355 L79.742409,132.949912 L76.5257763,134.504714 L9.65047684,166.548104 C5.4112904,168.593211 0.000578531073,165.503855 0.000578531073,160.794612 L0.000578531073,71.7210757 C0.000578531073,70.0173017 0.874160452,68.5463864 2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355" fill="#ED3049"></path>
<path d="M111.422771,117.65355 L79.742409,132.949912 L2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355" fill-opacity="0.25" fill="#000000"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,38 @@
import crypto from 'crypto';
import { URLSearchParams } from 'url';
import authScope from '../common/auth-scope.js';
export default async function generateAuthUrl($) {
const oauthRedirectUrlField = $.app.auth.fields.find(
(field) => field.key == 'oAuthRedirectUrl'
);
const redirectUri = oauthRedirectUrlField.value;
const state = crypto.randomBytes(100).toString('base64url');
const codeVerifier = crypto.randomBytes(96).toString('base64url');
const codeChallenge = crypto
.createHash('sha256')
.update(codeVerifier)
.digest('base64')
.replace(/=/g, '')
.replace(/\+/g, '-')
.replace(/\//g, '_');
const searchParams = new URLSearchParams({
client_id: $.auth.data.clientId,
redirect_uri: redirectUri,
response_type: 'code',
scope: authScope.join(' '),
state,
code_challenge: codeChallenge,
code_challenge_method: 'S256',
});
const url = `https://airtable.com/oauth2/v1/authorize?${searchParams.toString()}`;
await $.auth.set({
url,
originalCodeChallenge: codeChallenge,
originalState: state,
codeVerifier,
});
}

View File

@@ -0,0 +1,48 @@
import generateAuthUrl from './generate-auth-url.js';
import verifyCredentials from './verify-credentials.js';
import refreshToken from './refresh-token.js';
import isStillVerified from './is-still-verified.js';
export default {
fields: [
{
key: 'oAuthRedirectUrl',
label: 'OAuth Redirect URL',
type: 'string',
required: true,
readOnly: true,
value: '{WEB_APP_URL}/app/airtable/connections/add',
placeholder: null,
description:
'When asked to input a redirect URL in Airtable, enter the URL above.',
clickToCopy: true,
},
{
key: 'clientId',
label: 'Client ID',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: null,
clickToCopy: false,
},
{
key: 'clientSecret',
label: 'Client Secret',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: null,
clickToCopy: false,
},
],
generateAuthUrl,
verifyCredentials,
isStillVerified,
refreshToken,
};

View File

@@ -0,0 +1,8 @@
import getCurrentUser from '../common/get-current-user.js';
const isStillVerified = async ($) => {
const currentUser = await getCurrentUser($);
return !!currentUser.id;
};
export default isStillVerified;

View File

@@ -0,0 +1,40 @@
import { URLSearchParams } from 'node:url';
import authScope from '../common/auth-scope.js';
const refreshToken = async ($) => {
const params = new URLSearchParams({
client_id: $.auth.data.clientId,
grant_type: 'refresh_token',
refresh_token: $.auth.data.refreshToken,
});
const basicAuthToken = Buffer.from(
$.auth.data.clientId + ':' + $.auth.data.clientSecret
).toString('base64');
const { data } = await $.http.post(
'https://airtable.com/oauth2/v1/token',
params.toString(),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
Authorization: `Basic ${basicAuthToken}`,
},
additionalProperties: {
skipAddingAuthHeader: true,
},
}
);
await $.auth.set({
accessToken: data.access_token,
refreshToken: data.refresh_token,
expiresIn: data.expires_in,
refreshExpiresIn: data.refresh_expires_in,
scope: authScope.join(' '),
tokenType: data.token_type,
});
};
export default refreshToken;

View File

@@ -0,0 +1,56 @@
import getCurrentUser from '../common/get-current-user.js';
const verifyCredentials = async ($) => {
if ($.auth.data.originalState !== $.auth.data.state) {
throw new Error("The 'state' parameter does not match.");
}
if ($.auth.data.originalCodeChallenge !== $.auth.data.code_challenge) {
throw new Error("The 'code challenge' parameter does not match.");
}
const oauthRedirectUrlField = $.app.auth.fields.find(
(field) => field.key == 'oAuthRedirectUrl'
);
const redirectUri = oauthRedirectUrlField.value;
const basicAuthToken = Buffer.from(
$.auth.data.clientId + ':' + $.auth.data.clientSecret
).toString('base64');
const { data } = await $.http.post(
'https://airtable.com/oauth2/v1/token',
{
code: $.auth.data.code,
client_id: $.auth.data.clientId,
redirect_uri: redirectUri,
grant_type: 'authorization_code',
code_verifier: $.auth.data.codeVerifier,
},
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
Authorization: `Basic ${basicAuthToken}`,
},
additionalProperties: {
skipAddingAuthHeader: true,
},
}
);
await $.auth.set({
accessToken: data.access_token,
tokenType: data.token_type,
});
const currentUser = await getCurrentUser($);
await $.auth.set({
clientId: $.auth.data.clientId,
clientSecret: $.auth.data.clientSecret,
scope: $.auth.data.scope,
expiresIn: data.expires_in,
refreshExpiresIn: data.refresh_expires_in,
refreshToken: data.refresh_token,
screenName: currentUser.email,
});
};
export default verifyCredentials;

View File

@@ -0,0 +1,12 @@
const addAuthHeader = ($, requestConfig) => {
if (
!requestConfig.additionalProperties?.skipAddingAuthHeader &&
$.auth.data?.accessToken
) {
requestConfig.headers.Authorization = `${$.auth.data.tokenType} ${$.auth.data.accessToken}`;
}
return requestConfig;
};
export default addAuthHeader;

View File

@@ -0,0 +1,12 @@
const authScope = [
'data.records:read',
'data.records:write',
'data.recordComments:read',
'data.recordComments:write',
'schema.bases:read',
'schema.bases:write',
'user.email:read',
'webhook:manage',
];
export default authScope;

View File

@@ -0,0 +1,6 @@
const getCurrentUser = async ($) => {
const { data: currentUser } = await $.http.get('/v0/meta/whoami');
return currentUser;
};
export default getCurrentUser;

View File

@@ -0,0 +1,6 @@
import listBases from './list-bases/index.js';
import listTableFields from './list-table-fields/index.js';
import listTableViews from './list-table-views/index.js';
import listTables from './list-tables/index.js';
export default [listBases, listTableFields, listTableViews, listTables];

View File

@@ -0,0 +1,28 @@
export default {
name: 'List bases',
key: 'listBases',
async run($) {
const bases = {
data: [],
};
const params = {};
do {
const { data } = await $.http.get('/v0/meta/bases', { params });
params.offset = data.offset;
if (data?.bases) {
for (const base of data.bases) {
bases.data.push({
value: base.id,
name: base.name,
});
}
}
} while (params.offset);
return bases;
},
};

View File

@@ -0,0 +1,39 @@
export default {
name: 'List table fields',
key: 'listTableFields',
async run($) {
const tableFields = {
data: [],
};
const { baseId, tableId } = $.step.parameters;
if (!baseId) {
return tableFields;
}
const params = {};
do {
const { data } = await $.http.get(`/v0/meta/bases/${baseId}/tables`, {
params,
});
params.offset = data.offset;
if (data?.tables) {
for (const table of data.tables) {
if (table.id === tableId) {
table.fields.forEach((field) => {
tableFields.data.push({
value: field.name,
name: field.name,
});
});
}
}
}
} while (params.offset);
return tableFields;
},
};

View File

@@ -0,0 +1,39 @@
export default {
name: 'List table views',
key: 'listTableViews',
async run($) {
const tableViews = {
data: [],
};
const { baseId, tableId } = $.step.parameters;
if (!baseId) {
return tableViews;
}
const params = {};
do {
const { data } = await $.http.get(`/v0/meta/bases/${baseId}/tables`, {
params,
});
params.offset = data.offset;
if (data?.tables) {
for (const table of data.tables) {
if (table.id === tableId) {
table.views.forEach((view) => {
tableViews.data.push({
value: view.id,
name: view.name,
});
});
}
}
}
} while (params.offset);
return tableViews;
},
};

View File

@@ -0,0 +1,35 @@
export default {
name: 'List tables',
key: 'listTables',
async run($) {
const tables = {
data: [],
};
const baseId = $.step.parameters.baseId;
if (!baseId) {
return tables;
}
const params = {};
do {
const { data } = await $.http.get(`/v0/meta/bases/${baseId}/tables`, {
params,
});
params.offset = data.offset;
if (data?.tables) {
for (const table of data.tables) {
tables.data.push({
value: table.id,
name: table.name,
});
}
}
} while (params.offset);
return tables;
},
};

View File

@@ -0,0 +1,3 @@
import listFields from './list-fields/index.js';
export default [listFields];

View File

@@ -0,0 +1,86 @@
const hasValue = (value) => value !== null && value !== undefined;
export default {
name: 'List fields',
key: 'listFields',
async run($) {
const options = [];
const { baseId, tableId } = $.step.parameters;
if (!hasValue(baseId) || !hasValue(tableId)) {
return;
}
const { data } = await $.http.get(`/v0/meta/bases/${baseId}/tables`);
const selectedTable = data.tables.find((table) => table.id === tableId);
if (!selectedTable) return;
selectedTable.fields.forEach((field) => {
if (field.type === 'singleSelect') {
options.push({
label: field.name,
key: field.name,
type: 'dropdown',
required: false,
variables: true,
options: field.options.choices.map((choice) => ({
label: choice.name,
value: choice.id,
})),
});
} else if (field.type === 'multipleSelects') {
options.push({
label: field.name,
key: field.name,
type: 'dynamic',
required: false,
variables: true,
fields: [
{
label: 'Value',
key: 'value',
type: 'dropdown',
required: false,
variables: true,
options: field.options.choices.map((choice) => ({
label: choice.name,
value: choice.id,
})),
},
],
});
} else if (field.type === 'checkbox') {
options.push({
label: field.name,
key: field.name,
type: 'dropdown',
required: false,
variables: true,
options: [
{
label: 'Yes',
value: 'true',
},
{
label: 'No',
value: 'false',
},
],
});
} else {
options.push({
label: field.name,
key: field.name,
type: 'string',
required: false,
variables: true,
});
}
});
return options;
},
};

View File

@@ -0,0 +1,22 @@
import defineApp from '../../helpers/define-app.js';
import addAuthHeader from './common/add-auth-header.js';
import auth from './auth/index.js';
import actions from './actions/index.js';
import dynamicData from './dynamic-data/index.js';
import dynamicFields from './dynamic-fields/index.js';
export default defineApp({
name: 'Airtable',
key: 'airtable',
baseUrl: 'https://airtable.com',
apiBaseUrl: 'https://api.airtable.com',
iconUrl: '{BASE_URL}/apps/airtable/assets/favicon.svg',
authDocUrl: '{DOCS_URL}/apps/airtable/connection',
primaryColor: '#FFBF00',
supportsConnections: true,
beforeRequest: [addAuthHeader],
auth,
actions,
dynamicData,
dynamicFields,
});

View File

@@ -0,0 +1 @@
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="132" height="24" fill="none" viewBox="0 0 132 24"><path fill="#19191C" d="M38.557 19.495c2.16 0 3.25-1.113 3.725-1.87h.214c.094.805.664 1.562 1.779 1.562h2.111V16.82h-.545c-.38 0-.57-.213-.57-.545V6.776h-2.8v1.516h-.213c-.545-.758-1.684-1.824-3.772-1.824-3.321 0-5.789 2.748-5.789 6.514s2.515 6.513 5.86 6.513m.498-2.7c-1.969 0-3.51-1.445-3.51-3.79 0-2.297 1.494-3.86 3.487-3.86 1.898 0 3.487 1.397 3.487 3.86 0 2.108-1.352 3.79-3.463 3.79M48.04 24h2.799v-6.376h.213c.522.758 1.637 1.871 3.844 1.871 3.321 0 5.741-2.795 5.741-6.513 0-3.743-2.586-6.514-5.931-6.514-2.135 0-3.18 1.16-3.678 1.8h-.213V6.776h-2.776V24m6.263-7.134c-1.922 0-3.512-1.42-3.512-3.884 0-2.108 1.353-3.885 3.464-3.885 1.97 0 3.511 1.54 3.511 3.885 0 2.297-1.494 3.884-3.463 3.884M62.082 24h2.8v-6.376h.213c.522.758 1.637 1.871 3.843 1.871 3.321 0 5.51-2.795 5.51-6.513 0-3.743-2.355-6.514-5.7-6.514-2.135 0-3.179 1.16-3.677 1.8h-.214V6.776h-2.775zm6.263-7.134c-1.922 0-3.511-1.42-3.511-3.884 0-2.108 1.352-3.885 3.463-3.885 1.97 0 3.512 1.54 3.512 3.885 0 2.297-1.495 3.884-3.464 3.884m9.805 2.61h3.961l2.254-9.735h.143l2.253 9.735H90.7l3.153-12.412h-2.821l-2.254 9.759h-.214l-2.253-9.759h-3.725l-2.278 9.759h-.213l-2.23-9.759h-2.99l3.274 12.412m17.123 0h2.8V13.34c0-2.345 1.09-3.79 3.131-3.79h1.233V6.756h-.925c-1.59 0-2.8 1.09-3.274 2.132h-.19V7.064h-2.775zm21.057 0h2.183v-2.487h-2.159c-.854 0-1.21-.38-1.21-1.256V9.528h3.511V7.064h-3.511V3.582h-2.657v3.482h-2.325v2.464h2.159v6.229c0 2.63 1.589 3.719 4.009 3.719m9.693.019c2.586 0 4.864-1.279 5.67-3.86l-2.562-.616c-.451 1.373-1.755 2.084-3.131 2.084-2.041 0-3.393-1.326-3.417-3.41h9.419v-.782c0-3.695-2.301-6.443-6.097-6.443-3.346 0-6.216 2.63-6.216 6.537 0 3.79 2.538 6.49 6.334 6.49m-3.416-7.84c.166-1.492 1.518-2.747 3.298-2.747 1.708 0 3.108 1.066 3.25 2.747h-6.548"/><path fill="#19191C" fill-rule="evenodd" d="M108.916 19.476h-2.8V9.528h-2.182V7.064h4.982z" clip-rule="evenodd"/><path fill="#19191C" d="M107.309 5.342c1.02 0 1.779-.758 1.779-1.753 0-.971-.759-1.73-1.779-1.73-1.021 0-1.78.759-1.78 1.73 0 .995.759 1.753 1.78 1.753"/><path fill="#FD366E" d="M24.443 16.432v5.478H10.752c-3.989 0-7.472-2.203-9.335-5.478A11.041 11.041 0 0 1 0 11.695v-1.48a10.97 10.97 0 0 1 .381-2.247C1.661 3.368 5.82 0 10.751 0c4.934 0 9.092 3.37 10.371 7.967h-5.854c-.96-1.499-2.624-2.49-4.516-2.49s-3.555.991-4.516 2.49a5.47 5.47 0 0 0-.67 1.494 5.562 5.562 0 0 0-.202 1.494 5.5 5.5 0 0 0 1.69 3.983 5.32 5.32 0 0 0 3.698 1.494h13.69"/><path fill="#FD366E" d="M24.443 9.46v5.478h-9.994a5.5 5.5 0 0 0 1.691-3.983 5.56 5.56 0 0 0-.203-1.494h8.506"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,65 @@
import verifyCredentials from './verify-credentials.js';
import isStillVerified from './is-still-verified.js';
export default {
fields: [
{
key: 'screenName',
label: 'Screen Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description:
'Screen name of your connection to be used on Automatisch UI.',
clickToCopy: false,
},
{
key: 'projectId',
label: 'Project ID',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'Project ID of your Appwrite project.',
clickToCopy: false,
},
{
key: 'apiKey',
label: 'API Key',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'API key of your Appwrite project.',
clickToCopy: false,
},
{
key: 'instanceUrl',
label: 'Appwrite instance URL',
type: 'string',
required: false,
readOnly: false,
placeholder: '',
description: '',
clickToCopy: true,
},
{
key: 'host',
label: 'Host Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'Host name of your Appwrite project.',
clickToCopy: false,
},
],
verifyCredentials,
isStillVerified,
};

View File

@@ -0,0 +1,8 @@
import verifyCredentials from './verify-credentials.js';
const isStillVerified = async ($) => {
await verifyCredentials($);
return true;
};
export default isStillVerified;

View File

@@ -0,0 +1,5 @@
const verifyCredentials = async ($) => {
await $.http.get('/v1/users');
};
export default verifyCredentials;

View File

@@ -0,0 +1,16 @@
const addAuthHeader = ($, requestConfig) => {
requestConfig.headers['Content-Type'] = 'application/json';
if ($.auth.data?.apiKey && $.auth.data?.projectId) {
requestConfig.headers['X-Appwrite-Project'] = $.auth.data.projectId;
requestConfig.headers['X-Appwrite-Key'] = $.auth.data.apiKey;
}
if ($.auth.data?.host) {
requestConfig.headers['Host'] = $.auth.data.host;
}
return requestConfig;
};
export default addAuthHeader;

View File

@@ -0,0 +1,13 @@
const setBaseUrl = ($, requestConfig) => {
const instanceUrl = $.auth.data.instanceUrl;
if (instanceUrl) {
requestConfig.baseURL = instanceUrl;
} else if ($.app.apiBaseUrl) {
requestConfig.baseURL = $.app.apiBaseUrl;
}
return requestConfig;
};
export default setBaseUrl;

View File

@@ -0,0 +1,4 @@
import listCollections from './list-collections/index.js';
import listDatabases from './list-databases/index.js';
export default [listCollections, listDatabases];

View File

@@ -0,0 +1,44 @@
export default {
name: 'List collections',
key: 'listCollections',
async run($) {
const collections = {
data: [],
};
const databaseId = $.step.parameters.databaseId;
if (!databaseId) {
return collections;
}
const params = {
queries: [
JSON.stringify({
method: 'orderAsc',
attribute: 'name',
}),
JSON.stringify({
method: 'limit',
values: [100],
}),
],
};
const { data } = await $.http.get(
`/v1/databases/${databaseId}/collections`,
{ params }
);
if (data?.collections) {
for (const collection of data.collections) {
collections.data.push({
value: collection.$id,
name: collection.name,
});
}
}
return collections;
},
};

View File

@@ -0,0 +1,36 @@
export default {
name: 'List databases',
key: 'listDatabases',
async run($) {
const databases = {
data: [],
};
const params = {
queries: [
JSON.stringify({
method: 'orderAsc',
attribute: 'name',
}),
JSON.stringify({
method: 'limit',
values: [100],
}),
],
};
const { data } = await $.http.get('/v1/databases', { params });
if (data?.databases) {
for (const database of data.databases) {
databases.data.push({
value: database.$id,
name: database.name,
});
}
}
return databases;
},
};

View File

@@ -0,0 +1,21 @@
import defineApp from '../../helpers/define-app.js';
import addAuthHeader from './common/add-auth-header.js';
import setBaseUrl from './common/set-base-url.js';
import auth from './auth/index.js';
import triggers from './triggers/index.js';
import dynamicData from './dynamic-data/index.js';
export default defineApp({
name: 'Appwrite',
key: 'appwrite',
baseUrl: 'https://appwrite.io',
apiBaseUrl: 'https://cloud.appwrite.io',
iconUrl: '{BASE_URL}/apps/appwrite/assets/favicon.svg',
authDocUrl: '{DOCS_URL}/apps/appwrite/connection',
primaryColor: '#FD366E',
supportsConnections: true,
beforeRequest: [setBaseUrl, addAuthHeader],
auth,
triggers,
dynamicData,
});

View File

@@ -0,0 +1,3 @@
import newDocuments from './new-documents/index.js';
export default [newDocuments];

View File

@@ -0,0 +1,104 @@
import defineTrigger from '../../../../helpers/define-trigger.js';
export default defineTrigger({
name: 'New documents',
key: 'newDocuments',
pollInterval: 15,
description: 'Triggers when a new document is created.',
arguments: [
{
label: 'Database',
key: 'databaseId',
type: 'dropdown',
required: true,
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listDatabases',
},
],
},
},
{
label: 'Collection',
key: 'collectionId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.databaseId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listCollections',
},
{
name: 'parameters.databaseId',
value: '{parameters.databaseId}',
},
],
},
},
],
async run($) {
const { databaseId, collectionId } = $.step.parameters;
const limit = 1;
let lastDocumentId = undefined;
let offset = 0;
let documentCount = 0;
do {
const params = {
queries: [
JSON.stringify({
method: 'orderDesc',
attribute: '$createdAt',
}),
JSON.stringify({
method: 'limit',
values: [limit],
}),
// An invalid cursor shouldn't be sent.
lastDocumentId &&
JSON.stringify({
method: 'cursorAfter',
values: [lastDocumentId],
}),
].filter(Boolean),
};
const { data } = await $.http.get(
`/v1/databases/${databaseId}/collections/${collectionId}/documents`,
{ params }
);
const documents = data?.documents;
documentCount = documents?.length;
offset = offset + limit;
lastDocumentId = documents[documentCount - 1]?.$id;
if (!documentCount) {
return;
}
for (const document of documents) {
$.pushTriggerItem({
raw: document,
meta: {
internalId: document.$id,
},
});
}
} while (documentCount === limit);
},
});

View File

@@ -0,0 +1,3 @@
import sendPrompt from './send-prompt/index.js';
export default [sendPrompt];

View File

@@ -0,0 +1,97 @@
import defineAction from '../../../../helpers/define-action.js';
const castFloatOrUndefined = (value) => {
return value === '' ? undefined : parseFloat(value);
};
export default defineAction({
name: 'Send prompt',
key: 'sendPrompt',
description: 'Creates a completion for the provided prompt and parameters.',
arguments: [
{
label: 'Prompt',
key: 'prompt',
type: 'string',
required: true,
variables: true,
description: 'The text to analyze.',
},
{
label: 'Temperature',
key: 'temperature',
type: 'string',
required: false,
variables: true,
description:
'What sampling temperature to use, between 0 and 2. Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer. We generally recommend altering this or Top P but not both.',
},
{
label: 'Maximum tokens',
key: 'maxTokens',
type: 'string',
required: false,
variables: true,
description:
'The maximum number of tokens to generate in the completion.',
},
{
label: 'Stop Sequence',
key: 'stopSequence',
type: 'string',
required: false,
variables: true,
description:
'Single stop sequence where the API will stop generating further tokens. The returned text will not contain the stop sequence.',
},
{
label: 'Top P',
key: 'topP',
type: 'string',
required: false,
variables: true,
description:
'An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.',
},
{
label: 'Frequency Penalty',
key: 'frequencyPenalty',
type: 'string',
required: false,
variables: true,
description: `Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.`,
},
{
label: 'Presence Penalty',
key: 'presencePenalty',
type: 'string',
required: false,
variables: true,
description: `Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.`,
},
],
async run($) {
const payload = {
model: $.step.parameters.model,
prompt: $.step.parameters.prompt,
temperature: castFloatOrUndefined($.step.parameters.temperature),
max_tokens: castFloatOrUndefined($.step.parameters.maxTokens),
stop: $.step.parameters.stopSequence || null,
top_p: castFloatOrUndefined($.step.parameters.topP),
frequency_penalty: castFloatOrUndefined(
$.step.parameters.frequencyPenalty
),
presence_penalty: castFloatOrUndefined($.step.parameters.presencePenalty),
};
const { data } = await $.http.post(
`/deployments/${$.auth.data.deploymentId}/completions`,
payload
);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,6 @@
<svg width="256px" height="260px" viewBox="0 0 256 260" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<title>OpenAI</title>
<g>
<path d="M239.183914,106.202783 C245.054304,88.5242096 243.02228,69.1733805 233.607599,53.0998864 C219.451678,28.4588021 190.999703,15.7836129 163.213007,21.739505 C147.554077,4.32145883 123.794909,-3.42398554 100.87901,1.41873898 C77.9631105,6.26146349 59.3690093,22.9572536 52.0959621,45.2214219 C33.8436494,48.9644867 18.0901721,60.392749 8.86672513,76.5818033 C-5.443491,101.182962 -2.19544431,132.215255 16.8986662,153.320094 C11.0060865,170.990656 13.0197283,190.343991 22.4238231,206.422991 C36.5975553,231.072344 65.0680342,243.746566 92.8695738,237.783372 C105.235639,251.708249 123.001113,259.630942 141.623968,259.52692 C170.105359,259.552169 195.337611,241.165718 204.037777,214.045661 C222.28734,210.296356 238.038489,198.869783 247.267014,182.68528 C261.404453,158.127515 258.142494,127.262775 239.183914,106.202783 L239.183914,106.202783 Z M141.623968,242.541207 C130.255682,242.559177 119.243876,238.574642 110.519381,231.286197 L112.054146,230.416496 L163.724595,200.590881 C166.340648,199.056444 167.954321,196.256818 167.970781,193.224005 L167.970781,120.373788 L189.815614,133.010026 C190.034132,133.121423 190.186235,133.330564 190.224885,133.572774 L190.224885,193.940229 C190.168603,220.758427 168.442166,242.484864 141.623968,242.541207 Z M37.1575749,197.93062 C31.456498,188.086359 29.4094818,176.546984 31.3766237,165.342426 L32.9113895,166.263285 L84.6329973,196.088901 C87.2389349,197.618207 90.4682717,197.618207 93.0742093,196.088901 L156.255402,159.663793 L156.255402,184.885111 C156.243557,185.149771 156.111725,185.394602 155.89729,185.550176 L103.561776,215.733903 C80.3054953,229.131632 50.5924954,221.165435 37.1575749,197.93062 Z M23.5493181,85.3811273 C29.2899861,75.4733097 38.3511911,67.9162648 49.1287482,64.0478825 L49.1287482,125.438515 C49.0891492,128.459425 50.6965386,131.262556 53.3237748,132.754232 L116.198014,169.025864 L94.3531808,181.662102 C94.1132325,181.789434 93.8257461,181.789434 93.5857979,181.662102 L41.3526015,151.529534 C18.1419426,138.076098 10.1817681,108.385562 23.5493181,85.125333 L23.5493181,85.3811273 Z M203.0146,127.075598 L139.935725,90.4458545 L161.7294,77.8607748 C161.969348,77.7334434 162.256834,77.7334434 162.496783,77.8607748 L214.729979,108.044502 C231.032329,117.451747 240.437294,135.426109 238.871504,154.182739 C237.305714,172.939368 225.050719,189.105572 207.414262,195.67963 L207.414262,134.288998 C207.322521,131.276867 205.650697,128.535853 203.0146,127.075598 Z M224.757116,94.3850867 L223.22235,93.4642272 L171.60306,63.3828173 C168.981293,61.8443751 165.732456,61.8443751 163.110689,63.3828173 L99.9806554,99.8079259 L99.9806554,74.5866077 C99.9533004,74.3254088 100.071095,74.0701869 100.287609,73.9215426 L152.520805,43.7889738 C168.863098,34.3743518 189.174256,35.2529043 204.642579,46.0434841 C220.110903,56.8340638 227.949269,75.5923959 224.757116,94.1804513 L224.757116,94.3850867 Z M88.0606409,139.097931 L66.2158076,126.512851 C65.9950399,126.379091 65.8450965,126.154176 65.8065367,125.898945 L65.8065367,65.684966 C65.8314495,46.8285367 76.7500605,29.6846032 93.8270852,21.6883055 C110.90411,13.6920079 131.063833,16.2835462 145.5632,28.338998 L144.028434,29.2086986 L92.3579852,59.0343142 C89.7419327,60.5687513 88.1282597,63.3683767 88.1117998,66.4011901 L88.0606409,139.097931 Z M99.9294965,113.5185 L128.06687,97.3011417 L156.255402,113.5185 L156.255402,145.953218 L128.169187,162.170577 L99.9806554,145.953218 L99.9294965,113.5185 Z" fill="#000000"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,58 @@
import verifyCredentials from './verify-credentials.js';
import isStillVerified from './is-still-verified.js';
export default {
fields: [
{
key: 'screenName',
label: 'Screen Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description:
'Screen name of your connection to be used on Automatisch UI.',
clickToCopy: false,
},
{
key: 'yourResourceName',
label: 'Your Resource Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'The name of your Azure OpenAI Resource.',
docUrl: 'https://automatisch.io/docs/azure-openai#your-resource-name',
clickToCopy: false,
},
{
key: 'deploymentId',
label: 'Deployment ID',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'The deployment name you chose when you deployed the model.',
docUrl: 'https://automatisch.io/docs/azure-openai#deployment-id',
clickToCopy: false,
},
{
key: 'apiKey',
label: 'API Key',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'Azure OpenAI API key of your account.',
docUrl: 'https://automatisch.io/docs/azure-openai#api-key',
clickToCopy: false,
},
],
verifyCredentials,
isStillVerified,
};

View File

@@ -0,0 +1,6 @@
const isStillVerified = async ($) => {
await $.http.get('/fine_tuning/jobs');
return true;
};
export default isStillVerified;

View File

@@ -0,0 +1,5 @@
const verifyCredentials = async ($) => {
await $.http.get('/fine_tuning/jobs');
};
export default verifyCredentials;

View File

@@ -0,0 +1,13 @@
const addAuthHeader = ($, requestConfig) => {
if ($.auth.data?.apiKey) {
requestConfig.headers['api-key'] = $.auth.data.apiKey;
}
requestConfig.params = {
'api-version': '2023-10-01-preview',
};
return requestConfig;
};
export default addAuthHeader;

View File

@@ -0,0 +1,11 @@
const setBaseUrl = ($, requestConfig) => {
const yourResourceName = $.auth.data.yourResourceName;
if (yourResourceName) {
requestConfig.baseURL = `https://${yourResourceName}.openai.azure.com/openai`;
}
return requestConfig;
};
export default setBaseUrl;

View File

@@ -0,0 +1,20 @@
import defineApp from '../../helpers/define-app.js';
import setBaseUrl from './common/set-base-url.js';
import addAuthHeader from './common/add-auth-header.js';
import auth from './auth/index.js';
import actions from './actions/index.js';
export default defineApp({
name: 'Azure OpenAI',
key: 'azure-openai',
baseUrl:
'https://azure.microsoft.com/en-us/products/ai-services/openai-service',
apiBaseUrl: '',
iconUrl: '{BASE_URL}/apps/azure-openai/assets/favicon.svg',
authDocUrl: '{DOCS_URL}/apps/azure-openai/connection',
primaryColor: '#000000',
supportsConnections: true,
beforeRequest: [setBaseUrl, addAuthHeader],
auth,
actions,
});

View File

@@ -0,0 +1,35 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Add Template',
key: 'addTemplate',
description:
'Creates an attachment of a specified object by given parent ID.',
arguments: [
{
label: 'Template Data',
key: 'templateData',
type: 'string',
required: true,
variables: true,
description: 'The content of your new Template in XML/HTML format.',
},
],
async run($) {
const templateData = $.step.parameters.templateData;
const base64Data = Buffer.from(templateData).toString('base64');
const dataURI = `data:application/xml;base64,${base64Data}`;
const body = JSON.stringify({ template: dataURI });
const response = await $.http.post('/template', body, {
headers: {
'Content-Type': 'application/json',
},
});
$.setActionItem({ raw: response.data });
},
});

View File

@@ -0,0 +1,3 @@
import addTemplate from './add-template/index.js';
export default [addTemplate];

View File

@@ -0,0 +1,444 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="100%" viewBox="0 0 1173 1173" enable-background="new 0 0 1173 1173" xml:space="preserve">
<path fill="#73348B" opacity="1.000000" stroke="none"
d="
M1174.000000,208.000000
C1174.000000,529.969421 1174.000000,851.938782 1174.000000,1173.954102
C783.067810,1173.954102 392.135559,1173.954102 1.101677,1173.954102
C1.101677,783.104980 1.101677,392.209930 1.101677,1.000000
C322.697510,1.000000 644.395142,1.000000 966.516235,1.467920
C966.918274,68.235474 966.895691,134.535110 966.877258,200.834747
C966.875183,208.314804 966.885986,208.322311 974.623108,208.322571
C1038.924072,208.324631 1103.225098,208.326889 1167.526123,208.310104
C1169.684082,208.309540 1171.842041,208.107910 1174.000000,208.000000
M824.469116,403.972260
C830.640320,396.844513 836.811584,389.716736 843.084839,382.471130
C813.026611,353.649353 780.256958,329.661011 741.486328,314.979523
C680.713013,291.966217 618.102173,287.454407 554.867737,301.133331
C463.817413,320.829376 397.312988,373.276550 356.951416,457.320282
C326.804779,520.093689 319.957764,586.465027 335.155365,654.111511
C358.404633,757.597168 419.946594,829.052856 520.224731,865.190979
C575.706055,885.185242 632.887451,885.395691 690.185303,873.820862
C753.158081,861.099548 803.501465,826.733521 847.328979,780.124756
C825.522522,758.991638 803.799194,737.939087 781.866882,716.683960
C775.039185,722.581055 767.314697,729.376404 759.459290,736.016846
C716.790833,772.086792 668.088501,791.050049 611.649048,788.182129
C555.974548,785.353088 510.796692,761.934998 476.366638,718.347046
C450.585236,685.708313 437.160706,648.031494 433.752258,606.690613
C430.193268,563.523926 437.309692,522.406311 457.904602,484.052490
C496.945190,411.347198 573.378845,374.580780 654.712402,388.765686
C691.388062,395.162079 723.361389,411.383057 752.404175,434.001740
C761.432556,441.033173 770.043213,448.601013 779.130859,456.160980
C794.123657,438.910675 809.069336,421.714569 824.469116,403.972260
M401.126434,1003.500000
C401.122375,996.333740 401.039398,989.166199 401.152191,982.001770
C401.198700,979.046997 400.149170,977.760315 397.091583,977.847290
C392.096008,977.989441 387.061035,978.231079 382.102264,977.778320
C376.825531,977.296387 375.754608,979.441406 375.775360,984.315125
C375.949005,1025.145630 375.873474,1065.977417 375.874237,1106.808716
C375.874329,1113.141724 375.994049,1119.477539 375.836487,1125.806519
C375.755646,1129.053101 376.993805,1130.258667 380.217560,1130.162231
C385.712311,1129.997559 391.222198,1129.953491 396.712982,1130.175049
C400.378265,1130.322998 401.327179,1128.650757 401.160339,1125.375610
C400.987305,1121.979004 401.121826,1118.566772 401.121826,1114.051758
C403.029083,1115.849609 404.038116,1116.655273 404.875366,1117.611572
C423.297913,1138.649780 456.085083,1135.565308 472.987305,1118.665161
C494.109619,1097.545654 495.745544,1057.582886 476.289124,1034.845947
C458.642456,1014.223816 423.619873,1010.312439 404.695007,1033.663574
C403.933044,1034.603882 402.896790,1035.321899 401.126709,1036.922485
C401.126709,1025.377563 401.126709,1014.938782 401.126434,1003.500000
M1021.364685,1102.039429
C1034.668091,1125.202515 1054.950562,1134.733032 1081.114746,1132.114380
C1116.971191,1128.525757 1140.394165,1093.509888 1130.352783,1058.871704
C1120.842163,1026.064697 1084.911865,1009.039368 1051.827393,1021.662964
C1020.072083,1033.779419 1006.094421,1069.964478 1021.364685,1102.039429
M513.859009,1053.461792
C508.981232,1065.614258 508.319275,1078.089722 511.612946,1090.667114
C518.928467,1118.602539 545.601379,1135.665771 576.077942,1132.138428
C615.868713,1127.533081 639.243103,1085.250000 621.290771,1049.613525
C609.925598,1027.053101 590.627502,1017.015625 565.767517,1017.961548
C541.582703,1018.881775 524.357849,1030.779541 513.859009,1053.461792
M853.945312,1105.526489
C844.979370,1111.390137 835.234131,1113.082764 824.789001,1110.928833
C812.187134,1108.330078 801.815186,1096.424561 801.983032,1084.128296
C803.915649,1084.128296 805.872803,1084.128418 807.829956,1084.128296
C827.828918,1084.128174 847.827942,1084.128174 867.826904,1084.128052
C883.022278,1084.128052 883.416565,1084.089355 881.911011,1068.743774
C877.873352,1027.588623 845.873840,1010.303040 812.589294,1020.461792
C788.140564,1027.923828 771.315674,1053.597778 776.625183,1086.417480
C782.995667,1125.795166 822.767029,1141.211426 855.517578,1128.350586
C864.166870,1124.953979 871.321899,1119.494873 877.282959,1111.812744
C872.197815,1107.281738 867.508911,1103.103882 862.714783,1098.832153
C859.777344,1101.088501 857.158447,1103.100098 853.945312,1105.526489
M183.035294,1022.439941
C178.726364,1024.044678 174.417435,1025.649414 169.759094,1027.384277
C172.080597,1034.339355 174.168320,1040.594116 176.396927,1047.270874
C178.710007,1046.498047 180.428452,1045.982422 182.104675,1045.354126
C192.414581,1041.489502 203.049866,1039.981567 214.012650,1041.017212
C228.197418,1042.357178 237.230057,1053.265137 234.370621,1065.622192
C233.945877,1065.733521 233.456528,1066.014160 233.019272,1065.948486
C231.544067,1065.726807 230.081848,1065.406616 228.624466,1065.080322
C213.432663,1061.679199 198.251007,1060.834473 183.260117,1065.925537
C168.246078,1071.024536 160.203674,1082.376099 160.159256,1097.991577
C160.116211,1113.124634 168.617416,1125.277100 183.512024,1129.868774
C201.272339,1135.343872 217.762161,1132.975952 231.922165,1119.980591
C232.681229,1119.283936 233.598526,1118.759888 234.998825,1117.756470
C234.998825,1120.660034 235.167923,1122.828491 234.961670,1124.960815
C234.595810,1128.743408 235.836517,1130.435547 239.938004,1130.198853
C245.253296,1129.892090 250.601852,1130.021362 255.931290,1130.154541
C258.904449,1130.228760 260.057526,1129.146118 260.038300,1126.091797
C259.899628,1104.095337 260.293976,1082.087280 259.708466,1060.104492
C259.149353,1039.110596 247.823425,1025.003418 228.752792,1020.447083
C213.662979,1016.841919 198.651810,1018.154236 183.035294,1022.439941
M652.674988,1084.500000
C652.676819,1097.990356 652.774353,1111.481812 652.619568,1124.970337
C652.575684,1128.797485 653.756165,1130.430420 657.763428,1130.184448
C662.243225,1129.909424 666.753052,1130.130493 671.249817,1130.123413
C677.988098,1130.112915 677.994995,1130.108398 677.998840,1123.280029
C678.009644,1104.127197 677.813293,1084.971313 678.088196,1065.822388
C678.289795,1051.782104 687.650574,1041.728882 700.475464,1040.969238
C714.725037,1040.125244 723.562256,1047.280884 725.706665,1061.495361
C726.002808,1063.458374 725.985596,1065.479614 725.987732,1067.474121
C726.007690,1086.627075 726.075562,1105.780396 725.937012,1124.932373
C725.910034,1128.659790 726.763428,1130.436401 730.909912,1130.197876
C736.388123,1129.882690 741.898499,1130.048462 747.393127,1130.132080
C750.111389,1130.173340 751.333618,1129.085205 751.318970,1126.315796
C751.187561,1101.504028 751.651367,1076.672607 750.778564,1051.887817
C750.329590,1039.136963 743.986084,1028.674927 732.321106,1022.254761
C716.863159,1013.746887 695.690918,1017.041931 683.479919,1029.807129
C681.911743,1031.446533 680.418274,1033.157227 677.994934,1035.817871
C677.994934,1031.179810 677.847046,1027.753906 678.037964,1024.347046
C678.215881,1021.172424 677.140076,1019.820496 673.800659,1019.952393
C668.645813,1020.156006 663.460022,1020.260315 658.319153,1019.922363
C653.942261,1019.634521 652.544373,1021.128174 652.590515,1025.542358
C652.792175,1044.859741 652.675354,1064.180542 652.674988,1084.500000
M119.317238,1046.101074
C122.268578,1048.446411 125.219917,1050.791626 127.387344,1052.514038
C132.109711,1048.247925 136.374313,1044.289062 140.759842,1040.468872
C144.010681,1037.637085 143.275986,1035.555298 140.351669,1032.810791
C125.930077,1019.275879 108.562424,1015.442383 89.835030,1018.619995
C58.671745,1023.907654 39.333969,1050.496826 43.188984,1083.193359
C45.926426,1106.411377 59.195229,1122.338257 81.478561,1129.875244
C103.477272,1137.315918 128.440613,1130.652588 142.387802,1114.456543
C144.090958,1112.478760 144.008331,1111.254517 142.279175,1109.447876
C138.256943,1105.245117 134.418365,1100.866577 130.299011,1096.332031
C121.771889,1103.853394 113.867172,1109.740845 103.144859,1110.191895
C92.244728,1110.650269 83.239876,1107.153076 76.138634,1098.826416
C65.223991,1086.028564 65.297775,1064.157593 76.319031,1051.184937
C87.046638,1038.557983 103.476791,1036.430054 119.317238,1046.101074
M353.950317,1043.008423
C354.006683,1036.186401 353.906464,1029.358154 354.180176,1022.544922
C354.335571,1018.677124 352.771240,1017.653687 349.151764,1017.919495
C335.330078,1018.934265 325.588013,1026.116211 318.604279,1037.643921
C317.750885,1039.052734 316.890594,1040.457275 316.033447,1041.863770
C315.121674,1035.918945 314.900055,1030.423950 315.194824,1024.956665
C315.413696,1020.897034 313.799438,1019.733093 309.981384,1019.938782
C305.168030,1020.198242 300.312347,1020.256714 295.507935,1019.924500
C291.198883,1019.626587 289.697205,1020.959900 289.777374,1025.465820
C290.040833,1040.276245 289.874969,1055.094116 289.875153,1069.909180
C289.875397,1088.219849 289.984222,1106.531616 289.796387,1124.840332
C289.753448,1129.024658 291.144775,1130.494019 295.243988,1130.181030
C298.884857,1129.903076 302.564056,1130.154053 306.225861,1130.119141
C316.127838,1130.024902 314.970276,1131.203003 315.137146,1121.384644
C315.383026,1106.919067 314.932556,1092.386353 316.201233,1078.007690
C317.784821,1060.059814 328.779388,1048.418091 344.942749,1045.376465
C347.832062,1044.832642 350.733795,1044.354858 353.950317,1043.008423
M970.561462,1130.149170
C976.347717,1130.149170 982.133972,1130.149170 988.190430,1130.149170
C988.190430,1093.234131 988.190430,1056.859741 988.190430,1020.333618
C979.702515,1020.333618 971.488037,1020.333618 963.325317,1020.333618
C963.325317,1057.058838 963.325317,1093.449585 963.325317,1130.149170
C965.622131,1130.149170 967.600586,1130.149170 970.561462,1130.149170
M931.087708,1129.856323
C931.087708,1120.373291 931.087708,1110.890259 931.087708,1101.511963
C922.010315,1101.511963 913.093201,1101.511963 904.095581,1101.511963
C904.095581,1111.126099 904.095581,1120.382812 904.095581,1130.103516
C912.953064,1130.103516 921.562012,1130.103516 931.087708,1129.856323
M989.143494,1000.348511
C989.143494,993.401855 989.143494,986.455139 989.143494,979.396606
C979.834900,979.396606 970.989380,979.396606 962.400879,979.396606
C962.400879,987.527710 962.400879,995.258179 962.400879,1003.146362
C970.452820,1003.146362 978.106445,1003.221008 985.755371,1003.064941
C986.887451,1003.041870 987.997314,1001.928955 989.143494,1000.348511
z"/>
<path fill="#B497C6" opacity="1.000000" stroke="none"
d="
M1174.000000,207.750000
C1171.842041,208.107910 1169.684082,208.309540 1167.526123,208.310104
C1103.225098,208.326889 1038.924072,208.324631 974.623108,208.322571
C966.885986,208.322311 966.875183,208.314804 966.877258,200.834747
C966.895691,134.535110 966.918274,68.235474 966.969849,1.467920
C967.000000,1.000000 967.500000,1.000000 967.892212,1.300326
C968.620972,1.969603 968.943176,2.352815 969.295898,2.705561
C1036.645020,70.060425 1103.995605,137.413895 1171.356201,204.757263
C1172.170776,205.571564 1173.115845,206.255310 1174.000000,207.000000
C1174.000000,207.000000 1174.000000,207.500000 1174.000000,207.750000
z"/>
<path fill="#FFFFFF" opacity="1.000000" stroke="none"
d="
M1174.000000,206.533020
C1173.115845,206.255310 1172.170776,205.571564 1171.356201,204.757263
C1103.995605,137.413895 1036.645020,70.060425 969.295898,2.705561
C968.943176,2.352815 968.620972,1.969603 968.142212,1.300326
C1036.594238,1.000000 1105.188599,1.000000 1174.000000,1.000000
C1174.000000,69.355194 1174.000000,137.710617 1174.000000,206.533020
z"/>
<path fill="#FFFFFF" opacity="1.000000" stroke="none"
d="
M824.242065,404.245361
C809.069336,421.714569 794.123657,438.910675 779.130859,456.160980
C770.043213,448.601013 761.432556,441.033173 752.404175,434.001740
C723.361389,411.383057 691.388062,395.162079 654.712402,388.765686
C573.378845,374.580780 496.945190,411.347198 457.904602,484.052490
C437.309692,522.406311 430.193268,563.523926 433.752258,606.690613
C437.160706,648.031494 450.585236,685.708313 476.366638,718.347046
C510.796692,761.934998 555.974548,785.353088 611.649048,788.182129
C668.088501,791.050049 716.790833,772.086792 759.459290,736.016846
C767.314697,729.376404 775.039185,722.581055 781.866882,716.683960
C803.799194,737.939087 825.522522,758.991638 847.328979,780.124756
C803.501465,826.733521 753.158081,861.099548 690.185303,873.820862
C632.887451,885.395691 575.706055,885.185242 520.224731,865.190979
C419.946594,829.052856 358.404633,757.597168 335.155365,654.111511
C319.957764,586.465027 326.804779,520.093689 356.951416,457.320282
C397.312988,373.276550 463.817413,320.829376 554.867737,301.133331
C618.102173,287.454407 680.713013,291.966217 741.486328,314.979523
C780.256958,329.661011 813.026611,353.649353 843.084839,382.471130
C836.811584,389.716736 830.640320,396.844513 824.242065,404.245361
z"/>
<path fill="#B496C6" opacity="1.000000" stroke="none"
d="
M401.126587,1004.000000
C401.126709,1014.938782 401.126709,1025.377563 401.126709,1036.922485
C402.896790,1035.321899 403.933044,1034.603882 404.695007,1033.663574
C423.619873,1010.312439 458.642456,1014.223816 476.289124,1034.845947
C495.745544,1057.582886 494.109619,1097.545654 472.987305,1118.665161
C456.085083,1135.565308 423.297913,1138.649780 404.875366,1117.611572
C404.038116,1116.655273 403.029083,1115.849609 401.121826,1114.051758
C401.121826,1118.566772 400.987305,1121.979004 401.160339,1125.375610
C401.327179,1128.650757 400.378265,1130.322998 396.712982,1130.175049
C391.222198,1129.953491 385.712311,1129.997559 380.217560,1130.162231
C376.993805,1130.258667 375.755646,1129.053101 375.836487,1125.806519
C375.994049,1119.477539 375.874329,1113.141724 375.874237,1106.808716
C375.873474,1065.977417 375.949005,1025.145630 375.775360,984.315125
C375.754608,979.441406 376.825531,977.296387 382.102264,977.778320
C387.061035,978.231079 392.096008,977.989441 397.091583,977.847290
C400.149170,977.760315 401.198700,979.046997 401.152191,982.001770
C401.039398,989.166199 401.122375,996.333740 401.126587,1004.000000
M401.102875,1069.011719
C400.098053,1078.886963 401.329559,1088.256470 407.101685,1096.684570
C420.591766,1116.381714 449.957458,1114.592529 459.843262,1092.900513
C462.811829,1086.386719 463.929352,1078.394409 463.659058,1071.163086
C462.954895,1052.325073 448.612427,1039.179199 431.024689,1039.892334
C416.229248,1040.492432 405.168213,1050.977661 401.102875,1069.011719
z"/>
<path fill="#FEFDFE" opacity="1.000000" stroke="none"
d="
M1021.202576,1101.701294
C1006.094421,1069.964478 1020.072083,1033.779419 1051.827393,1021.662964
C1084.911865,1009.039368 1120.842163,1026.064697 1130.352783,1058.871704
C1140.394165,1093.509888 1116.971191,1128.525757 1081.114746,1132.114380
C1054.950562,1134.733032 1034.668091,1125.202515 1021.202576,1101.701294
M1063.986572,1041.223145
C1048.638306,1046.359863 1041.596069,1057.693604 1040.531982,1073.203491
C1038.714111,1099.699341 1064.766113,1118.165283 1088.315552,1107.193970
C1103.746460,1100.005005 1111.074951,1080.915771 1105.178711,1063.268677
C1099.385498,1045.930298 1083.597778,1037.239746 1063.986572,1041.223145
z"/>
<path fill="#B396C5" opacity="1.000000" stroke="none"
d="
M513.996948,1053.104736
C524.357849,1030.779541 541.582703,1018.881775 565.767517,1017.961548
C590.627502,1017.015625 609.925598,1027.053101 621.290771,1049.613525
C639.243103,1085.250000 615.868713,1127.533081 576.077942,1132.138428
C545.601379,1135.665771 518.928467,1118.602539 511.612946,1090.667114
C508.319275,1078.089722 508.981232,1065.614258 513.996948,1053.104736
M562.260620,1040.444092
C546.615784,1043.979858 537.547485,1054.070801 535.297913,1070.447632
C533.121765,1086.289917 541.953796,1102.308838 555.941284,1107.888672
C570.341492,1113.633301 586.898376,1109.268066 595.135681,1096.926514
C603.733704,1084.044556 604.355286,1070.265991 596.774170,1056.799438
C589.497620,1043.873901 577.771179,1038.791748 562.260620,1040.444092
z"/>
<path fill="#B396C5" opacity="1.000000" stroke="none"
d="
M854.242432,1105.319092
C857.158447,1103.100098 859.777344,1101.088501 862.714783,1098.832153
C867.508911,1103.103882 872.197815,1107.281738 877.282959,1111.812744
C871.321899,1119.494873 864.166870,1124.953979 855.517578,1128.350586
C822.767029,1141.211426 782.995667,1125.795166 776.625183,1086.417480
C771.315674,1053.597778 788.140564,1027.923828 812.589294,1020.461792
C845.873840,1010.303040 877.873352,1027.588623 881.911011,1068.743774
C883.416565,1084.089355 883.022278,1084.128052 867.826904,1084.128052
C847.827942,1084.128174 827.828918,1084.128174 807.829956,1084.128296
C805.872803,1084.128418 803.915649,1084.128296 801.983032,1084.128296
C801.815186,1096.424561 812.187134,1108.330078 824.789001,1110.928833
C835.234131,1113.082764 844.979370,1111.390137 854.242432,1105.319092
M807.682800,1067.153442
C823.922729,1067.153442 840.162659,1067.153442 856.360352,1067.153442
C857.024231,1051.490723 843.821167,1038.060181 828.868347,1038.415405
C814.209839,1038.763672 800.809204,1052.746582 801.885498,1066.903320
C803.478333,1066.985229 805.112427,1067.069336 807.682800,1067.153442
z"/>
<path fill="#B396C6" opacity="1.000000" stroke="none"
d="
M183.418549,1022.317383
C198.651810,1018.154236 213.662979,1016.841919 228.752792,1020.447083
C247.823425,1025.003418 259.149353,1039.110596 259.708466,1060.104492
C260.293976,1082.087280 259.899628,1104.095337 260.038300,1126.091797
C260.057526,1129.146118 258.904449,1130.228760 255.931290,1130.154541
C250.601852,1130.021362 245.253296,1129.892090 239.938004,1130.198853
C235.836517,1130.435547 234.595810,1128.743408 234.961670,1124.960815
C235.167923,1122.828491 234.998825,1120.660034 234.998825,1117.756470
C233.598526,1118.759888 232.681229,1119.283936 231.922165,1119.980591
C217.762161,1132.975952 201.272339,1135.343872 183.512024,1129.868774
C168.617416,1125.277100 160.116211,1113.124634 160.159256,1097.991577
C160.203674,1082.376099 168.246078,1071.024536 183.260117,1065.925537
C198.251007,1060.834473 213.432663,1061.679199 228.624466,1065.080322
C230.081848,1065.406616 231.544067,1065.726807 233.019272,1065.948486
C233.456528,1066.014160 233.945877,1065.733521 234.370621,1065.622192
C237.230057,1053.265137 228.197418,1042.357178 214.012650,1041.017212
C203.049866,1039.981567 192.414581,1041.489502 182.104675,1045.354126
C180.428452,1045.982422 178.710007,1046.498047 176.396927,1047.270874
C174.168320,1040.594116 172.080597,1034.339355 169.759094,1027.384277
C174.417435,1025.649414 178.726364,1024.044678 183.418549,1022.317383
M222.614487,1110.282959
C232.280441,1105.292969 236.480362,1097.197876 235.760620,1086.535889
C235.661087,1085.061401 234.448975,1082.775879 233.263031,1082.397217
C220.997086,1078.481323 208.516418,1076.766968 196.064621,1081.398193
C188.557663,1084.190308 184.559586,1090.745972 185.061066,1098.121948
C185.541321,1105.185791 190.386749,1110.687134 198.052612,1112.792114
C206.277649,1115.050659 214.217789,1113.966431 222.614487,1110.282959
z"/>
<path fill="#B497C6" opacity="1.000000" stroke="none"
d="
M652.674561,1084.000000
C652.675354,1064.180542 652.792175,1044.859741 652.590515,1025.542358
C652.544373,1021.128174 653.942261,1019.634521 658.319153,1019.922363
C663.460022,1020.260315 668.645813,1020.156006 673.800659,1019.952393
C677.140076,1019.820496 678.215881,1021.172424 678.037964,1024.347046
C677.847046,1027.753906 677.994934,1031.179810 677.994934,1035.817871
C680.418274,1033.157227 681.911743,1031.446533 683.479919,1029.807129
C695.690918,1017.041931 716.863159,1013.746887 732.321106,1022.254761
C743.986084,1028.674927 750.329590,1039.136963 750.778564,1051.887817
C751.651367,1076.672607 751.187561,1101.504028 751.318970,1126.315796
C751.333618,1129.085205 750.111389,1130.173340 747.393127,1130.132080
C741.898499,1130.048462 736.388123,1129.882690 730.909912,1130.197876
C726.763428,1130.436401 725.910034,1128.659790 725.937012,1124.932373
C726.075562,1105.780396 726.007690,1086.627075 725.987732,1067.474121
C725.985596,1065.479614 726.002808,1063.458374 725.706665,1061.495361
C723.562256,1047.280884 714.725037,1040.125244 700.475464,1040.969238
C687.650574,1041.728882 678.289795,1051.782104 678.088196,1065.822388
C677.813293,1084.971313 678.009644,1104.127197 677.998840,1123.280029
C677.994995,1130.108398 677.988098,1130.112915 671.249817,1130.123413
C666.753052,1130.130493 662.243225,1129.909424 657.763428,1130.184448
C653.756165,1130.430420 652.575684,1128.797485 652.619568,1124.970337
C652.774353,1111.481812 652.676819,1097.990356 652.674561,1084.000000
z"/>
<path fill="#B396C5" opacity="1.000000" stroke="none"
d="
M119.017403,1045.897461
C103.476791,1036.430054 87.046638,1038.557983 76.319031,1051.184937
C65.297775,1064.157593 65.223991,1086.028564 76.138634,1098.826416
C83.239876,1107.153076 92.244728,1110.650269 103.144859,1110.191895
C113.867172,1109.740845 121.771889,1103.853394 130.299011,1096.332031
C134.418365,1100.866577 138.256943,1105.245117 142.279175,1109.447876
C144.008331,1111.254517 144.090958,1112.478760 142.387802,1114.456543
C128.440613,1130.652588 103.477272,1137.315918 81.478561,1129.875244
C59.195229,1122.338257 45.926426,1106.411377 43.188984,1083.193359
C39.333969,1050.496826 58.671745,1023.907654 89.835030,1018.619995
C108.562424,1015.442383 125.930077,1019.275879 140.351669,1032.810791
C143.275986,1035.555298 144.010681,1037.637085 140.759842,1040.468872
C136.374313,1044.289062 132.109711,1048.247925 127.387344,1052.514038
C125.219917,1050.791626 122.268578,1048.446411 119.017403,1045.897461
z"/>
<path fill="#B497C6" opacity="1.000000" stroke="none"
d="
M353.790070,1043.427490
C350.733795,1044.354858 347.832062,1044.832642 344.942749,1045.376465
C328.779388,1048.418091 317.784821,1060.059814 316.201233,1078.007690
C314.932556,1092.386353 315.383026,1106.919067 315.137146,1121.384644
C314.970276,1131.203003 316.127838,1130.024902 306.225861,1130.119141
C302.564056,1130.154053 298.884857,1129.903076 295.243988,1130.181030
C291.144775,1130.494019 289.753448,1129.024658 289.796387,1124.840332
C289.984222,1106.531616 289.875397,1088.219849 289.875153,1069.909180
C289.874969,1055.094116 290.040833,1040.276245 289.777374,1025.465820
C289.697205,1020.959900 291.198883,1019.626587 295.507935,1019.924500
C300.312347,1020.256714 305.168030,1020.198242 309.981384,1019.938782
C313.799438,1019.733093 315.413696,1020.897034 315.194824,1024.956665
C314.900055,1030.423950 315.121674,1035.918945 316.033447,1041.863770
C316.890594,1040.457275 317.750885,1039.052734 318.604279,1037.643921
C325.588013,1026.116211 335.330078,1018.934265 349.151764,1017.919495
C352.771240,1017.653687 354.335571,1018.677124 354.180176,1022.544922
C353.906464,1029.358154 354.006683,1036.186401 353.790070,1043.427490
z"/>
<path fill="#FFFFFF" opacity="1.000000" stroke="none"
d="
M970.070190,1130.149170
C967.600586,1130.149170 965.622131,1130.149170 963.325317,1130.149170
C963.325317,1093.449585 963.325317,1057.058838 963.325317,1020.333618
C971.488037,1020.333618 979.702515,1020.333618 988.190430,1020.333618
C988.190430,1056.859741 988.190430,1093.234131 988.190430,1130.149170
C982.133972,1130.149170 976.347717,1130.149170 970.070190,1130.149170
z"/>
<path fill="#FCFBFD" opacity="1.000000" stroke="none"
d="
M930.629333,1129.979980
C921.562012,1130.103516 912.953064,1130.103516 904.095581,1130.103516
C904.095581,1120.382812 904.095581,1111.126099 904.095581,1101.511963
C913.093201,1101.511963 922.010315,1101.511963 931.087708,1101.511963
C931.087708,1110.890259 931.087708,1120.373291 930.629333,1129.979980
z"/>
<path fill="#FFFFFF" opacity="1.000000" stroke="none"
d="
M989.130493,1000.834351
C987.997314,1001.928955 986.887451,1003.041870 985.755371,1003.064941
C978.106445,1003.221008 970.452820,1003.146362 962.400879,1003.146362
C962.400879,995.258179 962.400879,987.527710 962.400879,979.396606
C970.989380,979.396606 979.834900,979.396606 989.143494,979.396606
C989.143494,986.455139 989.143494,993.401855 989.130493,1000.834351
z"/>
<path fill="#73358B" opacity="1.000000" stroke="none"
d="
M401.167480,1068.572754
C405.168213,1050.977661 416.229248,1040.492432 431.024689,1039.892334
C448.612427,1039.179199 462.954895,1052.325073 463.659058,1071.163086
C463.929352,1078.394409 462.811829,1086.386719 459.843262,1092.900513
C449.957458,1114.592529 420.591766,1116.381714 407.101685,1096.684570
C401.329559,1088.256470 400.098053,1078.886963 401.167480,1068.572754
z"/>
<path fill="#74368C" opacity="1.000000" stroke="none"
d="
M1064.389893,1041.130493
C1083.597778,1037.239746 1099.385498,1045.930298 1105.178711,1063.268677
C1111.074951,1080.915771 1103.746460,1100.005005 1088.315552,1107.193970
C1064.766113,1118.165283 1038.714111,1099.699341 1040.531982,1073.203491
C1041.596069,1057.693604 1048.638306,1046.359863 1064.389893,1041.130493
z"/>
<path fill="#73358B" opacity="1.000000" stroke="none"
d="
M562.688843,1040.359863
C577.771179,1038.791748 589.497620,1043.873901 596.774170,1056.799438
C604.355286,1070.265991 603.733704,1084.044556 595.135681,1096.926514
C586.898376,1109.268066 570.341492,1113.633301 555.941284,1107.888672
C541.953796,1102.308838 533.121765,1086.289917 535.297913,1070.447632
C537.547485,1054.070801 546.615784,1043.979858 562.688843,1040.359863
z"/>
<path fill="#74358C" opacity="1.000000" stroke="none"
d="
M807.214600,1067.153320
C805.112427,1067.069336 803.478333,1066.985229 801.885498,1066.903320
C800.809204,1052.746582 814.209839,1038.763672 828.868347,1038.415405
C843.821167,1038.060181 857.024231,1051.490723 856.360352,1067.153442
C840.162659,1067.153442 823.922729,1067.153442 807.214600,1067.153320
z"/>
<path fill="#74358C" opacity="1.000000" stroke="none"
d="
M222.282150,1110.464844
C214.217789,1113.966431 206.277649,1115.050659 198.052612,1112.792114
C190.386749,1110.687134 185.541321,1105.185791 185.061066,1098.121948
C184.559586,1090.745972 188.557663,1084.190308 196.064621,1081.398193
C208.516418,1076.766968 220.997086,1078.481323 233.263031,1082.397217
C234.448975,1082.775879 235.661087,1085.061401 235.760620,1086.535889
C236.480362,1097.197876 232.280441,1105.292969 222.282150,1110.464844
z"/>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,33 @@
import verifyCredentials from './verify-credentials.js';
import isStillVerified from './is-still-verified.js';
export default {
fields: [
{
key: 'screenName',
label: 'Screen Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description:
'Screen name of your connection to be used on Automatisch UI.',
clickToCopy: false,
},
{
key: 'apiKey',
label: 'API Key',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'Carbone API key of your account.',
clickToCopy: false,
},
],
verifyCredentials,
isStillVerified,
};

View File

@@ -0,0 +1,8 @@
import verifyCredentials from './verify-credentials.js';
const isStillVerified = async ($) => {
await verifyCredentials($);
return true;
};
export default isStillVerified;

View File

@@ -0,0 +1,10 @@
const verifyCredentials = async ($) => {
await $.http.get('/templates');
await $.auth.set({
screenName: $.auth.data.screenName,
apiKey: $.auth.data.apiKey,
});
};
export default verifyCredentials;

View File

@@ -0,0 +1,10 @@
const addAuthHeader = ($, requestConfig) => {
if ($.auth.data?.apiKey) {
requestConfig.headers.Authorization = `Bearer ${$.auth.data.apiKey}`;
requestConfig.headers['carbone-version'] = '4';
}
return requestConfig;
};
export default addAuthHeader;

View 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 actions from './actions/index.js';
export default defineApp({
name: 'Carbone',
key: 'carbone',
iconUrl: '{BASE_URL}/apps/carbone/assets/favicon.svg',
authDocUrl: '{DOCS_URL}/apps/carbone/connection',
supportsConnections: true,
baseUrl: 'https://carbone.io',
apiBaseUrl: 'https://api.carbone.io',
primaryColor: '#6f42c1',
beforeRequest: [addAuthHeader],
auth,
actions,
});

View File

@@ -0,0 +1,72 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Create folder',
key: 'createFolder',
description: 'Creates a new folder.',
arguments: [
{
label: 'Workspace',
key: 'workspaceId',
type: 'dropdown',
required: true,
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listWorkspaces',
},
],
},
},
{
label: 'Space',
key: 'spaceId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.workspaceId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listSpaces',
},
{
name: 'parameters.workspaceId',
value: '{parameters.workspaceId}',
},
],
},
},
{
label: 'Folder Name',
key: 'folderName',
type: 'string',
required: true,
description: '',
variables: true,
},
],
async run($) {
const { spaceId, folderName } = $.step.parameters;
const body = {
name: folderName,
};
const { data } = await $.http.post(`/v2/space/${spaceId}/folder`, body);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,135 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Create list',
key: 'createList',
description: 'Creates a new list.',
arguments: [
{
label: 'Workspace',
key: 'workspaceId',
type: 'dropdown',
required: true,
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listWorkspaces',
},
],
},
},
{
label: 'Space',
key: 'spaceId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.workspaceId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listSpaces',
},
{
name: 'parameters.workspaceId',
value: '{parameters.workspaceId}',
},
],
},
},
{
label: 'Folder',
key: 'folderId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.spaceId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listFolders',
},
{
name: 'parameters.spaceId',
value: '{parameters.spaceId}',
},
],
},
},
{
label: 'List Name',
key: 'listName',
type: 'string',
required: true,
description: '',
variables: true,
},
{
label: 'List Info',
key: 'listInfo',
type: 'string',
required: false,
description: '',
variables: true,
},
{
label: 'Priority',
key: 'priority',
type: 'dropdown',
required: false,
description: '',
variables: true,
options: [
{ label: 'Urgent', value: 1 },
{ label: 'High', value: 2 },
{ label: 'Normal', value: 3 },
{ label: 'Low', value: 4 },
],
},
{
label: 'Due Date',
key: 'dueDate',
type: 'string',
required: false,
description: 'format: integer <int64>',
variables: true,
},
],
async run($) {
const { folderId, listName, listInfo, priority, dueDate } =
$.step.parameters;
const body = {
name: listName,
content: listInfo,
};
if (priority) {
body.priority = priority;
}
if (dueDate) {
body.due_date = dueDate;
}
const { data } = await $.http.post(`/v2/folder/${folderId}/list`, body);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,294 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Create task',
key: 'createTask',
description: 'Creates a new task.',
arguments: [
{
label: 'Workspace',
key: 'workspaceId',
type: 'dropdown',
required: true,
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listWorkspaces',
},
],
},
},
{
label: 'Space',
key: 'spaceId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.workspaceId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listSpaces',
},
{
name: 'parameters.workspaceId',
value: '{parameters.workspaceId}',
},
],
},
},
{
label: 'Folder',
key: 'folderId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.spaceId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listFolders',
},
{
name: 'parameters.spaceId',
value: '{parameters.spaceId}',
},
],
},
},
{
label: 'List',
key: 'listId',
type: 'dropdown',
required: true,
dependsOn: ['parameters.folderId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listLists',
},
{
name: 'parameters.folderId',
value: '{parameters.folderId}',
},
],
},
},
{
label: 'Task Name',
key: 'taskName',
type: 'string',
required: true,
description: '',
variables: true,
},
{
label: 'Task Description',
key: 'taskDescription',
type: 'string',
required: false,
description: '',
variables: true,
},
{
label: 'Markdown Content',
key: 'markdownContent',
type: 'dropdown',
required: false,
description: '',
variables: true,
options: [
{ label: 'False', value: 'false' },
{ label: 'True', value: 'true' },
],
},
{
label: 'Assignees',
key: 'assigneeIds',
type: 'dynamic',
required: false,
description: '',
fields: [
{
label: 'Assignee',
key: 'assigneeId',
type: 'dropdown',
required: false,
dependsOn: ['parameters.listId'],
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listAssignees',
},
{
name: 'parameters.listId',
value: '{parameters.listId}',
},
],
},
},
],
},
{
label: 'Task Status',
key: 'taskStatus',
type: 'dropdown',
required: false,
dependsOn: ['parameters.listId'],
description: '',
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listStatuses',
},
{
name: 'parameters.listId',
value: '{parameters.listId}',
},
],
},
},
{
label: 'Tags',
key: 'tagIds',
type: 'dynamic',
required: false,
description: '',
fields: [
{
label: 'tag',
key: 'tagId',
type: 'dropdown',
required: false,
variables: true,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listTags',
},
],
},
},
],
},
{
label: 'Priority',
key: 'priority',
type: 'dropdown',
required: false,
description: '',
variables: true,
options: [
{ label: 'Urgent', value: 1 },
{ label: 'High', value: 2 },
{ label: 'Normal', value: 3 },
{ label: 'Low', value: 4 },
],
},
{
label: 'Due Date',
key: 'dueDate',
type: 'string',
required: false,
description: 'format: integer <int64>',
variables: true,
},
{
label: 'Start Date',
key: 'startDate',
type: 'string',
required: false,
description: 'format: integer <int64>',
variables: true,
},
],
async run($) {
const {
listId,
taskName,
taskDescription,
markdownContent,
assigneeIds,
taskStatus,
tagIds,
priority,
dueDate,
startDate,
} = $.step.parameters;
const tags = tagIds.map((tag) => tag.tagId);
const assignees = assigneeIds.map((assignee) =>
Number(assignee.assigneeId)
);
const body = {
name: taskName,
};
if (assignees.length) {
body.assignees = assignees;
}
if (taskStatus) {
body.status = taskStatus;
}
if (tags.length) {
body.tags = tags;
}
if (priority) {
body.priority = priority;
}
if (dueDate) {
body.due_date = dueDate;
}
if (startDate) {
body.start_date = startDate;
}
if (markdownContent) {
body.markdown_description = taskDescription;
} else {
body.description = taskDescription;
}
const { data } = await $.http.post(`/v2/list/${listId}/task`, body);
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,82 @@
import defineAction from '../../../../helpers/define-action.js';
export default defineAction({
name: 'Find task by id',
key: 'findTaskById',
description: 'Finds a task using id.',
arguments: [
{
label: 'Task ID',
key: 'taskId',
type: 'string',
required: true,
description: '',
variables: true,
},
{
label: 'Use Custom ID',
key: 'useCustomId',
type: 'dropdown',
required: false,
description: '',
variables: true,
options: [
{
label: 'True',
value: true,
},
{
label: 'False',
value: false,
},
],
additionalFields: {
type: 'query',
name: 'getDynamicFields',
arguments: [
{
name: 'key',
value: 'listFieldsWhenUsingCustomId',
},
{
name: 'parameters.useCustomId',
value: '{parameters.useCustomId}',
},
],
},
},
{
label: 'Include Subtasks?',
key: 'includeSubtasks',
type: 'dropdown',
required: false,
description: '',
variables: true,
options: [
{
label: 'True',
value: true,
},
{
label: 'False',
value: false,
},
],
},
],
async run($) {
const { taskId, useCustomId, includeSubtasks } = $.step.parameters;
const params = {
custom_task_ids: useCustomId || false,
include_subtasks: includeSubtasks,
};
const { data } = await $.http.get(`/v2/task/${taskId}`, { params });
$.setActionItem({
raw: data,
});
},
});

View File

@@ -0,0 +1,6 @@
import createFolder from './create-folder/index.js';
import createList from './create-list/index.js';
import createTask from './create-task/index.js';
import findTaskById from './find-task-by-id/index.js';
export default [createFolder, createList, createTask, findTaskById];

Some files were not shown because too many files have changed in this diff Show More