web-module.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. start?: () => Promise<void>
  55. appMiddleware?: (app: any) => void
  56. linkedFileAgents?: {
  57. [name: string]: () => LinkedFileAgent
  58. }
  59. }