web-module.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. type LinkedFileAgent = {
  2. createLinkedFile: (
  3. projectId: string,
  4. linkedFileData: object,
  5. name: string,
  6. parentFolderId: string,
  7. userId: string,
  8. callback: () => void
  9. ) => void
  10. refreshLinkedFile: (
  11. projectId: string,
  12. linkedFileData: object,
  13. name: string,
  14. parentFolderId: string,
  15. userId: string,
  16. callback: () => void
  17. ) => void
  18. promises: {
  19. createLinkedFile: (
  20. projectId: string,
  21. linkedFileData: object,
  22. name: string,
  23. parentFolderId: string,
  24. userId: string
  25. ) => Promise<any>
  26. refreshLinkedFile: (
  27. projectId: string,
  28. linkedFileData: object,
  29. name: string,
  30. parentFolderId: string,
  31. userId: string
  32. ) => Promise<any>
  33. }
  34. }
  35. export type WebModule = {
  36. dependencies?: string[]
  37. router?: {
  38. apply?: (
  39. webRouter: any,
  40. privateApiRouter?: any,
  41. publicApiRouter?: any
  42. ) => void
  43. }
  44. nonCsrfRouter?: {
  45. apply: (webRouter: any, privateApiRouter: any, publicApiRouter: any) => void
  46. }
  47. hooks?: {
  48. [name: string]: (args: any[]) => void
  49. }
  50. middleware?: {
  51. [name: string]: (req: any, res: any, next: any) => void
  52. }
  53. sessionMiddleware?: (webRouter: any, options: any) => void
  54. appMiddleware?: (app: any) => void
  55. linkedFileAgents?: {
  56. [name: string]: () => LinkedFileAgent
  57. }
  58. }