n8n-nodes-getcourse 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +38 -0
- package/README.md +359 -0
- package/dist/credentials/GetCourseApi.credentials.d.ts +10 -0
- package/dist/credentials/GetCourseApi.credentials.js +58 -0
- package/dist/credentials/GetCourseApi.credentials.js.map +1 -0
- package/dist/credentials/GetCourseTechApi.credentials.d.ts +11 -0
- package/dist/credentials/GetCourseTechApi.credentials.js +63 -0
- package/dist/credentials/GetCourseTechApi.credentials.js.map +1 -0
- package/dist/credentials/accountAddress.d.ts +11 -0
- package/dist/credentials/accountAddress.js +116 -0
- package/dist/credentials/accountAddress.js.map +1 -0
- package/dist/icons/getcourse.dark.svg +15 -0
- package/dist/icons/getcourse.svg +11 -0
- package/dist/nodes/GetCourse/GetCourse.node.d.ts +9 -0
- package/dist/nodes/GetCourse/GetCourse.node.js +48 -0
- package/dist/nodes/GetCourse/GetCourse.node.js.map +1 -0
- package/dist/nodes/GetCourse/GetCourse.node.json +40 -0
- package/dist/nodes/GetCourse/v1/actions/call/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/call/index.js +98 -0
- package/dist/nodes/GetCourse/v1/actions/call/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/deal/description.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/deal/description.js +261 -0
- package/dist/nodes/GetCourse/v1/actions/deal/description.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/deal/execute.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/deal/execute.js +181 -0
- package/dist/nodes/GetCourse/v1/actions/deal/execute.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/deal/index.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/deal/index.js +8 -0
- package/dist/nodes/GetCourse/v1/actions/deal/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/dialog/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/dialog/index.js +262 -0
- package/dist/nodes/GetCourse/v1/actions/dialog/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/helpdesk/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/helpdesk/index.js +305 -0
- package/dist/nodes/GetCourse/v1/actions/helpdesk/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/index.d.ts +5 -0
- package/dist/nodes/GetCourse/v1/actions/index.js +119 -0
- package/dist/nodes/GetCourse/v1/actions/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/lesson/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/lesson/index.js +180 -0
- package/dist/nodes/GetCourse/v1/actions/lesson/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/offer/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/offer/index.js +98 -0
- package/dist/nodes/GetCourse/v1/actions/offer/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/school/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/school/index.js +139 -0
- package/dist/nodes/GetCourse/v1/actions/school/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/user/description.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/user/description.js +499 -0
- package/dist/nodes/GetCourse/v1/actions/user/description.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/user/execute.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/user/execute.js +270 -0
- package/dist/nodes/GetCourse/v1/actions/user/execute.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/user/index.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/actions/user/index.js +8 -0
- package/dist/nodes/GetCourse/v1/actions/user/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/webhook/index.d.ts +4 -0
- package/dist/nodes/GetCourse/v1/actions/webhook/index.js +179 -0
- package/dist/nodes/GetCourse/v1/actions/webhook/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/actions/webinar/index.d.ts +3 -0
- package/dist/nodes/GetCourse/v1/actions/webinar/index.js +376 -0
- package/dist/nodes/GetCourse/v1/actions/webinar/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/descriptions/common.d.ts +7 -0
- package/dist/nodes/GetCourse/v1/descriptions/common.js +142 -0
- package/dist/nodes/GetCourse/v1/descriptions/common.js.map +1 -0
- package/dist/nodes/GetCourse/v1/helpers/errors.d.ts +11 -0
- package/dist/nodes/GetCourse/v1/helpers/errors.js +90 -0
- package/dist/nodes/GetCourse/v1/helpers/errors.js.map +1 -0
- package/dist/nodes/GetCourse/v1/helpers/request.d.ts +7 -0
- package/dist/nodes/GetCourse/v1/helpers/request.js +79 -0
- package/dist/nodes/GetCourse/v1/helpers/request.js.map +1 -0
- package/dist/nodes/GetCourse/v1/methods/index.d.ts +2 -0
- package/dist/nodes/GetCourse/v1/methods/index.js +39 -0
- package/dist/nodes/GetCourse/v1/methods/index.js.map +1 -0
- package/dist/nodes/GetCourse/v1/methods/loadOptions.d.ts +7 -0
- package/dist/nodes/GetCourse/v1/methods/loadOptions.js +76 -0
- package/dist/nodes/GetCourse/v1/methods/loadOptions.js.map +1 -0
- package/dist/nodes/GetCourse/v1/transport/index.d.ts +18 -0
- package/dist/nodes/GetCourse/v1/transport/index.js +165 -0
- package/dist/nodes/GetCourse/v1/transport/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/GetCourseLegacy.node.d.ts +9 -0
- package/dist/nodes/GetCourseLegacy/GetCourseLegacy.node.js +48 -0
- package/dist/nodes/GetCourseLegacy/GetCourseLegacy.node.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/GetCourseLegacy.node.json +35 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/description.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/description.js +287 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/description.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/execute.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/execute.js +150 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/execute.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/index.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/index.js +8 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/deal/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/description.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/description.js +487 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/description.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/execute.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/execute.js +252 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/execute.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/index.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/index.js +8 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/export/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/field/index.d.ts +3 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/field/index.js +61 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/field/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/group/index.d.ts +3 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/group/index.js +42 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/group/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/index.d.ts +5 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/index.js +84 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/description.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/description.js +87 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/description.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/execute.d.ts +5 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/execute.js +129 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/execute.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/index.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/index.js +8 -0
- package/dist/nodes/GetCourseLegacy/v1/actions/user/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/common.d.ts +14 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/common.js +198 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/common.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/constants.d.ts +7 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/constants.js +116 -0
- package/dist/nodes/GetCourseLegacy/v1/descriptions/constants.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/errors.d.ts +18 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/errors.js +141 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/errors.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/exportRows.d.ts +8 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/exportRows.js +100 -0
- package/dist/nodes/GetCourseLegacy/v1/helpers/exportRows.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/index.d.ts +2 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/index.js +39 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/index.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/loadOptions.d.ts +5 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/loadOptions.js +92 -0
- package/dist/nodes/GetCourseLegacy/v1/methods/loadOptions.js.map +1 -0
- package/dist/nodes/GetCourseLegacy/v1/transport/index.d.ts +13 -0
- package/dist/nodes/GetCourseLegacy/v1/transport/index.js +204 -0
- package/dist/nodes/GetCourseLegacy/v1/transport/index.js.map +1 -0
- package/dist/nodes/GetCourseTrigger/GetCourseTrigger.node.d.ts +12 -0
- package/dist/nodes/GetCourseTrigger/GetCourseTrigger.node.js +339 -0
- package/dist/nodes/GetCourseTrigger/GetCourseTrigger.node.js.map +1 -0
- package/dist/nodes/GetCourseTrigger/GetCourseTrigger.node.json +32 -0
- package/dist/nodes/GetCourseTrigger/payload.d.ts +14 -0
- package/dist/nodes/GetCourseTrigger/payload.js +66 -0
- package/dist/nodes/GetCourseTrigger/payload.js.map +1 -0
- package/dist/utils/cache.d.ts +2 -0
- package/dist/utils/cache.js +27 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/dates.d.ts +3 -0
- package/dist/utils/dates.js +70 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/events.d.ts +14 -0
- package/dist/utils/events.js +92 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/httpError.d.ts +4 -0
- package/dist/utils/httpError.js +46 -0
- package/dist/utils/httpError.js.map +1 -0
- package/dist/utils/query.d.ts +4 -0
- package/dist/utils/query.js +42 -0
- package/dist/utils/query.js.map +1 -0
- package/dist/utils/rateLimiter.d.ts +3 -0
- package/dist/utils/rateLimiter.js +44 -0
- package/dist/utils/rateLimiter.js.map +1 -0
- package/dist/utils/router.d.ts +8 -0
- package/dist/utils/router.js +40 -0
- package/dist/utils/router.js.map +1 -0
- package/index.js +0 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/GetCourseLegacy/v1/transport/index.ts"],"names":[],"mappings":";;;AAoQA,sCAqCC;AAiED,sCA6BC;AASD,sCA6BC;AAGD,kDAYC;AArbD,+CAAoE;AAEpE,2EAAwE;AACxE,mDAAiD;AACjD,2DAAgE;AAChE,mDAAuD;AACvD,+DAAuE;AAEvE,8CAAmG;AAKtF,QAAA,eAAe,GAAG,cAAc,CAAC;AAG9C,MAAM,gBAAgB,GAAG,OAAS,CAAC;AAQnC,MAAM,kBAAkB,GAAG,EAAE,GAAG,KAAM,CAAC;AASvC,MAAM,oBAAoB,GAAG,KAAM,CAAC;AASpC,KAAK,UAAU,cAAc;;IAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAe,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,wDAAwD,EACxD;YACC,WAAW,EACV,sIAAsI;SACvI,CACD,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC9C,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE;QACtE,YAAY,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,0CAAG,uBAAe,CAAC,0CAAE,EAAE,mCAAI,SAAS;KAC5E,CAAC;AACH,CAAC;AAgBD,SAAS,gBAAgB,CAAsB,QAAqB,EAAE,GAAW;;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO;IAEtE,MAAM,OAAO,GAAG,CAAC,MAAA,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAgB,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,qDAAqD,EACrD;QACC,WAAW,EACV,GAAG,GAAG,aAAa,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,oBAAoB;YAC5F,8FAA8F;YAC9F,sCAAsC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,iBAAiB;YAC9F,uGAAuG;KACxG,CACD,CAAC;AACH,CAAC;AAaD,SAAS,cAAc,CAEtB,IAAa,EACb,GAAW,EACX,MAAc;IAEd,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,IAAsB,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sCAAsC,EAAE;YACpF,WAAW,EACV,wIAAwI;SACzI,CAAC,CAAC;IACJ,CAAC;IAYD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mCAAmC,EAAE;YACjF,WAAW,EACV,GAAG,GAAG,aAAa,MAAM,8cAA8c;SACxe,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,oDAAoD,EACpD;QACC,WAAW,EACV,kBAAkB,GAAG,iBAAiB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,IAAI;YAC/G,CAAC,MAAM,KAAK,GAAG;gBACd,CAAC,CAAC,sMAAsM;gBACxM,CAAC,CAAC,8GAA8G,CAAC;KACnH,CACD,CAAC;AACH,CAAC;AAGD,SAAS,aAAa,CAAsB,QAAwB;IACnE,IAAI,IAAA,qBAAY,EAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IAIpD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEpF,MAAM,IAAA,sBAAa,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAUD,KAAK,UAAU,IAAI,CAElB,cAAmC,EACnC,SAAkB,EAClB,aAAmC;;IAEnC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,MAAA,cAAc,CAAC,OAAO,mCAAI,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;IAEnE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAKnC,IAAI,aAAa,KAAK,SAAS;YAAE,MAAM,aAAa,EAAE,CAAC;QAEvD,IAAI,QAAqB,CAAC;QAE1B,IAAI,CAAC;YACJ,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAgB,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGhB,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,KAAK,CAAC,CAAC;YAExC,IAAI,SAAS,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBACxC,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,SAAS;YACV,CAAC;YAED,MAAM,IAAA,yBAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAIrF,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,SAAS,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBACxC,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,SAAS;YACV,CAAC;YAED,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,MAAM,EAAE,EAAE;gBAC5E,WAAW,EAAE,kBAAkB,GAAG,4EAA4E;aAC9G,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;AACF,CAAC;AAGD,MAAM,kBAAkB,GAAG;IAC1B,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;CACnB,CAAC;AAYJ,KAAK,UAAU,aAAa,CAElC,QAAgB,EAChB,MAAc,EACd,MAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/E,MAAM,IAAI,GAAG;QACZ,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACtC,OAAO,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC9C,UAAU,kBAAkB,CAAC,OAAO,CAAC,EAAE;KACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAKZ,MAAM,IAAA,yBAAW,EAAC,GAAG,OAAO,CAAC,OAAO,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC/B,IAAI,EACJ;QACC,GAAG,kBAAkB;QACrB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACR,cAAc,EAAE,mCAAmC;YACnD,MAAM,EAAE,kBAAkB;SAC1B;QACD,IAAI;KACJ,EACD,KAAK,CACL,CAAC;IAEF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAgBD,KAAK,UAAU,WAAW,CAEzB,OAA0B,EAC1B,SAAiB,EACjB,OAAkD;IAElD,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,OAAO,SAAS,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAW,EAChC,SAAS,EACT,OAAO,CAAC,qBAAqB,EAC7B,gBAAgB,EAChB,SAAS,CACT,CAAC;IAEF,IAAI,OAAO;QAAE,OAAO;IAEpB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;YAC7D,WAAW,EAAE,OAAO,CAAC,WAAW;SAChC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACxB,IAAA,uBAAS,EAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,GAAG,KAAM,CAC9E,CAAC;IAEF,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,yDAAyD,EACzD;QACC,WAAW,EACV,mCAAmC,OAAO,wCAAwC;YAClF,uFAAuF;YACvF,mFAAmF;YACnF,kDAAkD;KACnD,CACD,CAAC;AACH,CAAC;AAYM,KAAK,UAAU,aAAa,CAElC,QAAgB,EAChB,KAAkB,EAAE,EACpB,UAAgC,EAAE;;IAElC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GACV,OAAO,CAAC,OAAO,KAAK,KAAK;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,kBAAkB,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC/B,IAAI,EACJ;QACC,GAAG,kBAAkB;QACrB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,QAAQ;QACb,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,EAAE;QACnD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACvC,EACD,IAAI,EACJ,KAAK,CACL,CAAC;IAEF,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,IAAA,wBAAe,EAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEhF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AASM,KAAK,UAAU,aAAa;IAClC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,MAAM,IAAA,cAAM,EAAC,iBAAiB,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC/B,IAAI,EACJ;YACC,GAAG,kBAAkB;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,wBAAwB;YAC7B,OAAO,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,kBAAkB;aAC1B;YACD,IAAI;SACJ,EACD,IAAI,EACJ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACrD,OAAO,EAAE,kEAAkE;YAC3E,WAAW,EACV,+LAA+L;SAChM,CAAC,CACF,CAAC;QAEF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,mBAAmB,CAExC,QAAgB,EAChB,KAAkB,EAAE;IAEpB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,UAAU,OAAO,CAAC,YAAY,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IAE/E,OAAO,MAAM,IAAA,cAAM,EAClB,GAAG,EACH,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAC7F,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IHookFunctions, INodeType, INodeTypeDescription, IWebhookFunctions, IWebhookResponseData } from 'n8n-workflow';
|
|
2
|
+
export declare class GetCourseTrigger implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
webhookMethods: {
|
|
5
|
+
default: {
|
|
6
|
+
checkExists(this: IHookFunctions): Promise<boolean>;
|
|
7
|
+
create(this: IHookFunctions): Promise<boolean>;
|
|
8
|
+
delete(this: IHookFunctions): Promise<boolean>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetCourseTrigger = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const events_1 = require("../../utils/events");
|
|
7
|
+
const transport_1 = require("../GetCourse/v1/transport");
|
|
8
|
+
const payload_1 = require("./payload");
|
|
9
|
+
const UNREACHABLE_HOST = /^https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\]|0\.0\.0\.0)(?::|\/|$)/i;
|
|
10
|
+
const TEST_WEBHOOK_URL = /\/webhook-test\//;
|
|
11
|
+
const eventProperties = events_1.EVENT_OBJECTS.map((object) => ({
|
|
12
|
+
displayName: 'Events',
|
|
13
|
+
name: `events${object.id}`,
|
|
14
|
+
type: 'multiOptions',
|
|
15
|
+
default: [object.events[0].id],
|
|
16
|
+
required: true,
|
|
17
|
+
options: (0, events_1.eventOptions)(object.id),
|
|
18
|
+
displayOptions: { show: { source: ['techApi'], eventObject: [object.id] } },
|
|
19
|
+
description: `Какие события ${object.label.toLowerCase()} присылать. Each one is a separate subscription call.`,
|
|
20
|
+
}));
|
|
21
|
+
class GetCourseTrigger {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.description = {
|
|
24
|
+
displayName: 'GetCourse Trigger',
|
|
25
|
+
name: 'getCourseTrigger',
|
|
26
|
+
icon: {
|
|
27
|
+
light: 'file:../../icons/getcourse.svg',
|
|
28
|
+
dark: 'file:../../icons/getcourse.dark.svg',
|
|
29
|
+
},
|
|
30
|
+
group: ['trigger'],
|
|
31
|
+
version: 1,
|
|
32
|
+
subtitle: '={{ $parameter["source"] === "process" ? "process callback" : "set-uri subscription" }}',
|
|
33
|
+
description: 'Starts a workflow when GetCourse reports an event',
|
|
34
|
+
defaults: { name: 'GetCourse Trigger' },
|
|
35
|
+
inputs: [],
|
|
36
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
37
|
+
credentials: [
|
|
38
|
+
{
|
|
39
|
+
name: 'getCourseTechApi',
|
|
40
|
+
required: true,
|
|
41
|
+
displayOptions: { show: { source: ['techApi'] } },
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
webhooks: [
|
|
45
|
+
{
|
|
46
|
+
name: 'default',
|
|
47
|
+
httpMethod: '={{ $parameter["httpMethod"] || "POST" }}',
|
|
48
|
+
responseMode: 'onReceived',
|
|
49
|
+
path: 'webhook',
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
properties: [
|
|
53
|
+
{
|
|
54
|
+
displayName: 'Source',
|
|
55
|
+
name: 'source',
|
|
56
|
+
type: 'options',
|
|
57
|
+
noDataExpression: true,
|
|
58
|
+
default: 'process',
|
|
59
|
+
options: [
|
|
60
|
+
{
|
|
61
|
+
name: 'GetCourse Process',
|
|
62
|
+
value: 'process',
|
|
63
|
+
description: "Процесс с операцией «Вызвать URL». Works on any paid account and needs no developer key, but the account owner has to paste this node's URL into the process by hand.",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Tech API Subscription',
|
|
67
|
+
value: 'techApi',
|
|
68
|
+
description: 'Подписка через set-uri. This node subscribes and unsubscribes itself when the workflow is activated and deactivated, but it needs a Tech API developer key, which GetCourse issues to integrators on request.',
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
description: 'Откуда приходят события. GetCourse has two unrelated webhook systems and they behave differently.',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
displayName: 'Скопируйте адрес выше в процесс GetCourse: операция «Вызвать URL», метод POST, тело — json или x-www-form-urlencoded. Field names and the field set are entirely yours to choose, so this node passes the body through unchanged rather than expecting a shape. Values come from placeholders such as {object.email} in a user process and {object.user.email} in an order process.',
|
|
75
|
+
name: 'processNotice',
|
|
76
|
+
type: 'notice',
|
|
77
|
+
default: '',
|
|
78
|
+
displayOptions: { show: { source: ['process'] } },
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Подписка живёт у ключа разработчика, а не у воркфлоу: она переживёт удаление этого узла, если не деактивировать его сначала. GetCourse decides by itself what a subscription delivery contains — a body and no headers of yours — so there is nothing to check a shared secret against here, and the address itself is what keeps the events private. Manual testing is not possible either: set-uri holds one address per event, so listening for a test event would replace the live subscription. Activate the workflow instead.',
|
|
82
|
+
name: 'techApiNotice',
|
|
83
|
+
type: 'notice',
|
|
84
|
+
default: '',
|
|
85
|
+
displayOptions: { show: { source: ['techApi'] } },
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
displayName: 'HTTP Method',
|
|
89
|
+
name: 'httpMethod',
|
|
90
|
+
type: 'options',
|
|
91
|
+
default: 'POST',
|
|
92
|
+
options: [
|
|
93
|
+
{ name: 'POST', value: 'POST' },
|
|
94
|
+
{ name: 'GET', value: 'GET' },
|
|
95
|
+
],
|
|
96
|
+
displayOptions: { show: { source: ['process'] } },
|
|
97
|
+
description: 'Метод, которым процесс вызывает URL. GetCourse offers both; with GET the data arrives as query parameters instead of a body.',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
displayName: 'Event Object',
|
|
101
|
+
name: 'eventObject',
|
|
102
|
+
type: 'options',
|
|
103
|
+
noDataExpression: true,
|
|
104
|
+
default: 2,
|
|
105
|
+
options: events_1.EVENT_OBJECT_OPTIONS,
|
|
106
|
+
displayOptions: { show: { source: ['techApi'] } },
|
|
107
|
+
description: 'Какие объекты слушаем. One node listens to one object: an Входящие message and a HelpDesk message arrive as identical bodies, so the only thing that can tell them apart is which subscription delivered them.',
|
|
108
|
+
},
|
|
109
|
+
...eventProperties,
|
|
110
|
+
{
|
|
111
|
+
displayName: 'Options',
|
|
112
|
+
name: 'options',
|
|
113
|
+
type: 'collection',
|
|
114
|
+
placeholder: 'Add Option',
|
|
115
|
+
default: {},
|
|
116
|
+
options: [
|
|
117
|
+
{
|
|
118
|
+
displayName: 'Add Event Type',
|
|
119
|
+
name: 'addEventType',
|
|
120
|
+
type: 'boolean',
|
|
121
|
+
default: true,
|
|
122
|
+
description: 'Whether to fill in an eventType field when GetCourse sends none (подставить тип события). Order and lesson events carry one already; dialog, HelpDesk and call deliveries do not, and this labels them from the subscription that received them.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
displayName: 'Include Headers',
|
|
126
|
+
name: 'includeHeaders',
|
|
127
|
+
type: 'boolean',
|
|
128
|
+
default: false,
|
|
129
|
+
description: 'Whether to add the request headers to every item as "headers" (включить заголовки запроса)',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
displayName: 'Verification',
|
|
135
|
+
name: 'verification',
|
|
136
|
+
type: 'collection',
|
|
137
|
+
placeholder: 'Add Setting',
|
|
138
|
+
default: {},
|
|
139
|
+
displayOptions: { show: { source: ['process'] } },
|
|
140
|
+
description: 'Проверка отправителя. GetCourse signs nothing, so a shared secret set in the process is the only way to tell its calls from anyone else who learns this URL.',
|
|
141
|
+
options: [
|
|
142
|
+
{
|
|
143
|
+
displayName: 'Expected Secret',
|
|
144
|
+
name: 'secretValue',
|
|
145
|
+
type: 'string',
|
|
146
|
+
typeOptions: { password: true },
|
|
147
|
+
default: '',
|
|
148
|
+
description: 'Значение, которое должно прийти в заголовке или параметре, названном ниже. A request without it is answered 403 and starts nothing. Add the same header in the «Вызвать URL» settings of the process.',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
displayName: 'Secret Location',
|
|
152
|
+
name: 'verifyIn',
|
|
153
|
+
type: 'options',
|
|
154
|
+
default: 'header',
|
|
155
|
+
options: [
|
|
156
|
+
{ name: 'Header', value: 'header' },
|
|
157
|
+
{ name: 'Query Parameter', value: 'query' },
|
|
158
|
+
],
|
|
159
|
+
description: 'Где искать секрет — in a request header or in the URL query string',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
displayName: 'Secret Name',
|
|
163
|
+
name: 'verifyName',
|
|
164
|
+
type: 'string',
|
|
165
|
+
default: 'x-getcourse-secret',
|
|
166
|
+
description: 'Имя заголовка или параметра, carrying the secret. Header names are matched case-insensitively.',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
};
|
|
172
|
+
this.webhookMethods = {
|
|
173
|
+
default: {
|
|
174
|
+
async checkExists() {
|
|
175
|
+
return String(this.getNodeParameter('source', 'process')) !== 'techApi';
|
|
176
|
+
},
|
|
177
|
+
async create() {
|
|
178
|
+
var _a;
|
|
179
|
+
if (String(this.getNodeParameter('source', 'process')) !== 'techApi')
|
|
180
|
+
return true;
|
|
181
|
+
const uri = webhookDestination.call(this);
|
|
182
|
+
if (TEST_WEBHOOK_URL.test(uri)) {
|
|
183
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'A Tech API subscription cannot be tested with "Listen for test event"', {
|
|
184
|
+
description: 'GetCourse keeps one address per event, so subscribing this temporary URL would replace the live one and testing would take the running workflow off the air. Activate the workflow to receive real events, or switch Source to GetCourse Process and paste the test URL into the process by hand.',
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
const { objectId, eventIds } = selectedEvents.call(this);
|
|
188
|
+
if (eventIds.length === 0) {
|
|
189
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No GetCourse events are selected', {
|
|
190
|
+
description: 'Pick at least one entry under "Events".',
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
const subscribed = [];
|
|
194
|
+
try {
|
|
195
|
+
for (const eventId of eventIds) {
|
|
196
|
+
await setSubscription.call(this, uri, objectId, eventId, 1);
|
|
197
|
+
subscribed.push(eventId);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
for (const eventId of subscribed) {
|
|
202
|
+
try {
|
|
203
|
+
await setSubscription.call(this, uri, objectId, eventId, 0);
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(`GetCourse Trigger could not roll back its subscription to event ${objectId}:${eventId} on ${uri}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
throw error;
|
|
210
|
+
}
|
|
211
|
+
const staticData = this.getWorkflowStaticData('node');
|
|
212
|
+
staticData.uri = uri;
|
|
213
|
+
staticData.objectId = objectId;
|
|
214
|
+
staticData.eventIds = eventIds;
|
|
215
|
+
return true;
|
|
216
|
+
},
|
|
217
|
+
async delete() {
|
|
218
|
+
var _a, _b;
|
|
219
|
+
if (String(this.getNodeParameter('source', 'process')) !== 'techApi')
|
|
220
|
+
return true;
|
|
221
|
+
const staticData = this.getWorkflowStaticData('node');
|
|
222
|
+
const uri = String((_a = staticData.uri) !== null && _a !== void 0 ? _a : '') || webhookDestination.call(this);
|
|
223
|
+
const objectId = Number((_b = staticData.objectId) !== null && _b !== void 0 ? _b : selectedEvents.call(this).objectId);
|
|
224
|
+
const eventIds = Array.isArray(staticData.eventIds)
|
|
225
|
+
? staticData.eventIds
|
|
226
|
+
: selectedEvents.call(this).eventIds;
|
|
227
|
+
let failure;
|
|
228
|
+
const stillSubscribed = [];
|
|
229
|
+
for (const eventId of eventIds) {
|
|
230
|
+
try {
|
|
231
|
+
await setSubscription.call(this, uri, objectId, eventId, 0);
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
failure = failure !== null && failure !== void 0 ? failure : error;
|
|
235
|
+
stillSubscribed.push(eventId);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
if (stillSubscribed.length === 0) {
|
|
239
|
+
delete staticData.uri;
|
|
240
|
+
delete staticData.objectId;
|
|
241
|
+
delete staticData.eventIds;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
staticData.uri = uri;
|
|
245
|
+
staticData.objectId = objectId;
|
|
246
|
+
staticData.eventIds = stillSubscribed;
|
|
247
|
+
}
|
|
248
|
+
if (failure !== undefined)
|
|
249
|
+
throw failure;
|
|
250
|
+
return true;
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
async webhook() {
|
|
256
|
+
const options = this.getNodeParameter('options', {});
|
|
257
|
+
const verification = this.getNodeParameter('verification', {});
|
|
258
|
+
const request = this.getRequestObject();
|
|
259
|
+
const headers = this.getHeaderData();
|
|
260
|
+
const query = this.getQueryData();
|
|
261
|
+
if (!secretAccepted(verification, headers, query)) {
|
|
262
|
+
this.getResponseObject().status(403).json({ status: 'forbidden' });
|
|
263
|
+
return { noWebhookResponse: true };
|
|
264
|
+
}
|
|
265
|
+
const payload = withoutSecret(verification, (0, payload_1.mergeRequest)((0, payload_1.unwrapDelivery)(request.body), query), 'query');
|
|
266
|
+
if (options.addEventType !== false) {
|
|
267
|
+
const objectId = Number(this.getNodeParameter('eventObject', 0));
|
|
268
|
+
const eventType = (0, payload_1.eventTypeFor)(payload, objectId);
|
|
269
|
+
if (eventType !== undefined && payload.eventType === undefined) {
|
|
270
|
+
payload.eventType = eventType;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (options.includeHeaders === true) {
|
|
274
|
+
payload.headers = withoutSecret(verification, headers, 'header');
|
|
275
|
+
}
|
|
276
|
+
const item = { json: payload };
|
|
277
|
+
return { workflowData: [[item]] };
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
exports.GetCourseTrigger = GetCourseTrigger;
|
|
281
|
+
async function setSubscription(uri, objectId, eventId, subscribe) {
|
|
282
|
+
await transport_1.techApiRequest.call(this, 'POST', '/set-uri', {
|
|
283
|
+
uri,
|
|
284
|
+
event_object_id: objectId,
|
|
285
|
+
event_id: eventId,
|
|
286
|
+
subscribe,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
function webhookDestination() {
|
|
290
|
+
const url = this.getNodeWebhookUrl('default');
|
|
291
|
+
if (url === undefined || url === '') {
|
|
292
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'This node has no webhook URL yet', {
|
|
293
|
+
description: 'Save the workflow, then activate it so n8n can hand GetCourse an address.',
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
if (UNREACHABLE_HOST.test(url)) {
|
|
297
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `GetCourse cannot reach ${url}`, {
|
|
298
|
+
description: 'Webhooks are delivered from GetCourse servers, so this n8n instance needs an address reachable from the internet. Set WEBHOOK_URL to the public address, or put a tunnel in front of n8n.',
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
return url;
|
|
302
|
+
}
|
|
303
|
+
function selectedEvents() {
|
|
304
|
+
const objectId = Number(this.getNodeParameter('eventObject', 2));
|
|
305
|
+
const selected = this.getNodeParameter(`events${objectId}`, []);
|
|
306
|
+
const eventIds = [...new Set(selected.map((id) => Number(id)))].filter((id) => Number.isFinite(id));
|
|
307
|
+
return { objectId, eventIds };
|
|
308
|
+
}
|
|
309
|
+
function withoutSecret(verification, carrier, location) {
|
|
310
|
+
var _a, _b;
|
|
311
|
+
if (String((_a = verification.secretValue) !== null && _a !== void 0 ? _a : '') === '')
|
|
312
|
+
return carrier;
|
|
313
|
+
if ((verification.verifyIn === 'query' ? 'query' : 'header') !== location)
|
|
314
|
+
return carrier;
|
|
315
|
+
const name = String((_b = verification.verifyName) !== null && _b !== void 0 ? _b : 'x-getcourse-secret').toLowerCase();
|
|
316
|
+
const cleaned = {};
|
|
317
|
+
for (const [key, value] of Object.entries(carrier)) {
|
|
318
|
+
if (key.toLowerCase() !== name)
|
|
319
|
+
cleaned[key] = value;
|
|
320
|
+
}
|
|
321
|
+
return cleaned;
|
|
322
|
+
}
|
|
323
|
+
function secretAccepted(verification, headers, query) {
|
|
324
|
+
var _a, _b, _c;
|
|
325
|
+
const expected = String((_a = verification.secretValue) !== null && _a !== void 0 ? _a : '');
|
|
326
|
+
if (expected === '')
|
|
327
|
+
return true;
|
|
328
|
+
const name = String((_b = verification.verifyName) !== null && _b !== void 0 ? _b : 'x-getcourse-secret').toLowerCase();
|
|
329
|
+
const source = verification.verifyIn === 'query'
|
|
330
|
+
? (_c = Object.entries(query).find(([key]) => key.toLowerCase() === name)) === null || _c === void 0 ? void 0 : _c[1]
|
|
331
|
+
: headers[name];
|
|
332
|
+
const provided = Array.isArray(source) ? source.join(',') : String(source !== null && source !== void 0 ? source : '');
|
|
333
|
+
const left = Buffer.from(provided, 'utf8');
|
|
334
|
+
const right = Buffer.from(expected, 'utf8');
|
|
335
|
+
if (left.length !== right.length)
|
|
336
|
+
return false;
|
|
337
|
+
return (0, node_crypto_1.timingSafeEqual)(left, right);
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=GetCourseTrigger.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCourseTrigger.node.js","sourceRoot":"","sources":["../../../nodes/GetCourseTrigger/GetCourseTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-getcourse.getCourseTrigger",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Sales", "Marketing & Content"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://github.com/zenland-dev/n8n-nodes-getcourse?tab=readme-ov-file#credentials"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://github.com/zenland-dev/n8n-nodes-getcourse?tab=readme-ov-file#getcourse-trigger"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"alias": [
|
|
19
|
+
"GetCourse",
|
|
20
|
+
"Геткурс",
|
|
21
|
+
"Webhook",
|
|
22
|
+
"Вебхук",
|
|
23
|
+
"Вызвать URL",
|
|
24
|
+
"Callback",
|
|
25
|
+
"Trigger",
|
|
26
|
+
"Order Paid",
|
|
27
|
+
"Заказ оплачен",
|
|
28
|
+
"HelpDesk",
|
|
29
|
+
"Dialog",
|
|
30
|
+
"Диалог"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IDataObject } from 'n8n-workflow';
|
|
2
|
+
export declare const EVENT_OBJECT: {
|
|
3
|
+
readonly incoming: 1;
|
|
4
|
+
readonly orders: 2;
|
|
5
|
+
readonly lessonAnswers: 4;
|
|
6
|
+
readonly answerComments: 5;
|
|
7
|
+
readonly webinarComments: 7;
|
|
8
|
+
readonly calls: 8;
|
|
9
|
+
readonly helpdesk: 9;
|
|
10
|
+
};
|
|
11
|
+
export declare function unwrapDelivery(body: unknown): unknown;
|
|
12
|
+
export declare function detectFamily(body: IDataObject): 'event' | 'dialog' | 'call' | undefined;
|
|
13
|
+
export declare function eventTypeFor(body: IDataObject, eventObjectId: number): string | undefined;
|
|
14
|
+
export declare function mergeRequest(body: unknown, query: IDataObject): IDataObject;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVENT_OBJECT = void 0;
|
|
4
|
+
exports.unwrapDelivery = unwrapDelivery;
|
|
5
|
+
exports.detectFamily = detectFamily;
|
|
6
|
+
exports.eventTypeFor = eventTypeFor;
|
|
7
|
+
exports.mergeRequest = mergeRequest;
|
|
8
|
+
exports.EVENT_OBJECT = {
|
|
9
|
+
incoming: 1,
|
|
10
|
+
orders: 2,
|
|
11
|
+
lessonAnswers: 4,
|
|
12
|
+
answerComments: 5,
|
|
13
|
+
webinarComments: 7,
|
|
14
|
+
calls: 8,
|
|
15
|
+
helpdesk: 9,
|
|
16
|
+
};
|
|
17
|
+
function unwrapDelivery(body) {
|
|
18
|
+
if (body === null || typeof body !== 'object' || Array.isArray(body))
|
|
19
|
+
return body;
|
|
20
|
+
const keys = Object.keys(body);
|
|
21
|
+
if (keys.length !== 1 || keys[0] !== 'json')
|
|
22
|
+
return body;
|
|
23
|
+
const inner = body.json;
|
|
24
|
+
return inner !== null && typeof inner === 'object' && !Array.isArray(inner) ? inner : body;
|
|
25
|
+
}
|
|
26
|
+
function detectFamily(body) {
|
|
27
|
+
if (typeof body.eventType === 'string' && body.eventType !== '')
|
|
28
|
+
return 'event';
|
|
29
|
+
if (body.type === 'call')
|
|
30
|
+
return 'call';
|
|
31
|
+
if (body.dialog_id !== undefined || body.event_id !== undefined)
|
|
32
|
+
return 'dialog';
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
function eventTypeFor(body, eventObjectId) {
|
|
36
|
+
var _a;
|
|
37
|
+
const family = detectFamily(body);
|
|
38
|
+
if (family === 'event')
|
|
39
|
+
return String(body.eventType);
|
|
40
|
+
if (family === 'call')
|
|
41
|
+
return 'getcourse/call';
|
|
42
|
+
if (family !== 'dialog')
|
|
43
|
+
return undefined;
|
|
44
|
+
const eventId = Number(body.event_id);
|
|
45
|
+
const helpdesk = eventObjectId === exports.EVENT_OBJECT.helpdesk;
|
|
46
|
+
const names = helpdesk
|
|
47
|
+
? { 1: 'ticketCreated', 2: 'ticketClientMessage', 3: 'ticketStaffMessage' }
|
|
48
|
+
: {
|
|
49
|
+
1: 'dialogCreated',
|
|
50
|
+
2: 'dialogReopened',
|
|
51
|
+
3: 'dialogStudentMessage',
|
|
52
|
+
4: 'dialogStaffMessage',
|
|
53
|
+
};
|
|
54
|
+
const name = (_a = names[eventId]) !== null && _a !== void 0 ? _a : (helpdesk ? 'ticketEvent' : 'dialogEvent');
|
|
55
|
+
return `getcourse/${name}`;
|
|
56
|
+
}
|
|
57
|
+
function mergeRequest(body, query) {
|
|
58
|
+
const fromBody = body !== null && typeof body === 'object' && !Array.isArray(body) ? body : {};
|
|
59
|
+
const merged = { ...query, ...fromBody };
|
|
60
|
+
const isPlainObject = body !== null && typeof body === 'object' && !Array.isArray(body);
|
|
61
|
+
if (!isPlainObject && body !== undefined && body !== null && body !== '') {
|
|
62
|
+
merged.body = body;
|
|
63
|
+
}
|
|
64
|
+
return merged;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../nodes/GetCourseTrigger/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cached = cached;
|
|
4
|
+
exports.resetCache = resetCache;
|
|
5
|
+
const TTL_MS = 60000;
|
|
6
|
+
const entries = new Map();
|
|
7
|
+
function prune(now) {
|
|
8
|
+
for (const [key, entry] of entries) {
|
|
9
|
+
if (entry.expiresAt <= now)
|
|
10
|
+
entries.delete(key);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async function cached(key, fetch) {
|
|
14
|
+
const now = Date.now();
|
|
15
|
+
prune(now);
|
|
16
|
+
const hit = entries.get(key);
|
|
17
|
+
if (hit !== undefined)
|
|
18
|
+
return (await hit.value);
|
|
19
|
+
const value = fetch();
|
|
20
|
+
entries.set(key, { expiresAt: now + TTL_MS, value });
|
|
21
|
+
void value.catch(() => entries.delete(key));
|
|
22
|
+
return await value;
|
|
23
|
+
}
|
|
24
|
+
function resetCache() {
|
|
25
|
+
entries.clear();
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../utils/cache.ts"],"names":[],"mappings":";;AA8BA,wBAYC;AAGD,gCAEC;AAlCD,MAAM,MAAM,GAAG,KAAM,CAAC;AAEtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0D,CAAC;AAElF,SAAS,KAAK,CAAC,GAAW;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;YAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;AACF,CAAC;AASM,KAAK,UAAU,MAAM,CAAI,GAAW,EAAE,KAAuB;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAM,CAAC;IAErD,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,OAAO,MAAM,KAAK,CAAC;AACpB,CAAC;AAGD,SAAgB,UAAU;IACzB,OAAO,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isGetCourseDate = isGetCourseDate;
|
|
4
|
+
exports.toGetCourseDate = toGetCourseDate;
|
|
5
|
+
exports.toGetCourseDateTime = toGetCourseDateTime;
|
|
6
|
+
const DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
|
|
7
|
+
const DATE_TIME = /^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}(:\d{2})?$/;
|
|
8
|
+
const RU_DATE = /^(\d{1,2})\.(\d{1,2})\.(\d{4})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/;
|
|
9
|
+
const pad = (value, width = 2) => String(value).padStart(width, '0');
|
|
10
|
+
function parts(instant, timezone) {
|
|
11
|
+
const formatter = new Intl.DateTimeFormat('en-CA', {
|
|
12
|
+
timeZone: timezone,
|
|
13
|
+
year: 'numeric',
|
|
14
|
+
month: '2-digit',
|
|
15
|
+
day: '2-digit',
|
|
16
|
+
hour: '2-digit',
|
|
17
|
+
minute: '2-digit',
|
|
18
|
+
second: '2-digit',
|
|
19
|
+
hour12: false,
|
|
20
|
+
});
|
|
21
|
+
const result = {};
|
|
22
|
+
for (const part of formatter.formatToParts(instant))
|
|
23
|
+
result[part.type] = part.value;
|
|
24
|
+
if (result.hour === '24')
|
|
25
|
+
result.hour = '00';
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
function fromInstant(instant, timezone, withTime) {
|
|
29
|
+
const at = parts(instant, timezone);
|
|
30
|
+
const date = `${at.year}-${at.month}-${at.day}`;
|
|
31
|
+
return withTime ? `${date} ${at.hour}:${at.minute}:${at.second}` : date;
|
|
32
|
+
}
|
|
33
|
+
function format(value, timezone, withTime) {
|
|
34
|
+
if (value === undefined || value === null || value === '')
|
|
35
|
+
return undefined;
|
|
36
|
+
if (value instanceof Date) {
|
|
37
|
+
return Number.isNaN(value.getTime()) ? undefined : fromInstant(value, timezone, withTime);
|
|
38
|
+
}
|
|
39
|
+
const text = String(value).trim();
|
|
40
|
+
if (text === '')
|
|
41
|
+
return undefined;
|
|
42
|
+
if (DATE_ONLY.test(text))
|
|
43
|
+
return withTime ? `${text} 00:00:00` : text;
|
|
44
|
+
if (DATE_TIME.test(text)) {
|
|
45
|
+
const [date, time] = text.replace('T', ' ').split(' ');
|
|
46
|
+
return withTime ? `${date} ${time.length === 5 ? `${time}:00` : time}` : date;
|
|
47
|
+
}
|
|
48
|
+
const russian = RU_DATE.exec(text);
|
|
49
|
+
if (russian !== null) {
|
|
50
|
+
const [, day, month, year, hour, minute, second] = russian;
|
|
51
|
+
const date = `${year}-${pad(month)}-${pad(day)}`;
|
|
52
|
+
return withTime
|
|
53
|
+
? `${date} ${pad(hour !== null && hour !== void 0 ? hour : '0')}:${pad(minute !== null && minute !== void 0 ? minute : '0')}:${pad(second !== null && second !== void 0 ? second : '0')}`
|
|
54
|
+
: date;
|
|
55
|
+
}
|
|
56
|
+
const parsed = Date.parse(text);
|
|
57
|
+
if (Number.isNaN(parsed))
|
|
58
|
+
return text;
|
|
59
|
+
return fromInstant(new Date(parsed), timezone, withTime);
|
|
60
|
+
}
|
|
61
|
+
function isGetCourseDate(value) {
|
|
62
|
+
return typeof value === 'string' && DATE_ONLY.test(value);
|
|
63
|
+
}
|
|
64
|
+
function toGetCourseDate(value, timezone) {
|
|
65
|
+
return format(value, timezone, false);
|
|
66
|
+
}
|
|
67
|
+
function toGetCourseDateTime(value, timezone) {
|
|
68
|
+
return format(value, timezone, true);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../utils/dates.ts"],"names":[],"mappings":"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"}
|