@smess/networking 1.1.5 → 2.0.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.
Files changed (313) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/README.md +165 -114
  3. package/dist/core/body.d.ts +10 -0
  4. package/dist/core/body.d.ts.map +1 -0
  5. package/dist/core/body.js +22 -0
  6. package/dist/core/body.js.map +1 -0
  7. package/dist/core/client.d.ts +74 -0
  8. package/dist/core/client.d.ts.map +1 -0
  9. package/dist/core/client.js +124 -0
  10. package/dist/core/client.js.map +1 -0
  11. package/dist/core/decoders.d.ts +8 -0
  12. package/dist/core/decoders.d.ts.map +1 -0
  13. package/dist/core/decoders.js +26 -0
  14. package/dist/core/decoders.js.map +1 -0
  15. package/dist/core/endpoint.d.ts +69 -0
  16. package/dist/core/endpoint.d.ts.map +1 -0
  17. package/dist/core/endpoint.js +6 -0
  18. package/dist/core/endpoint.js.map +1 -0
  19. package/dist/core/hosts.d.ts +25 -0
  20. package/dist/core/hosts.d.ts.map +1 -0
  21. package/dist/core/hosts.js +22 -0
  22. package/dist/core/hosts.js.map +1 -0
  23. package/dist/core/pagination.d.ts +33 -0
  24. package/dist/core/pagination.d.ts.map +1 -0
  25. package/dist/core/pagination.js +23 -0
  26. package/dist/core/pagination.js.map +1 -0
  27. package/dist/core/pipeline.d.ts +25 -0
  28. package/dist/core/pipeline.d.ts.map +1 -0
  29. package/dist/core/pipeline.js +12 -0
  30. package/dist/core/pipeline.js.map +1 -0
  31. package/dist/core/retry.d.ts +18 -0
  32. package/dist/core/retry.d.ts.map +1 -0
  33. package/dist/core/retry.js +47 -0
  34. package/dist/core/retry.js.map +1 -0
  35. package/dist/core/transport.d.ts +30 -0
  36. package/dist/core/transport.d.ts.map +1 -0
  37. package/dist/core/transport.js +73 -0
  38. package/dist/core/transport.js.map +1 -0
  39. package/dist/core/types.d.ts +24 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +3 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/core/url.d.ts +15 -0
  44. package/dist/core/url.d.ts.map +1 -0
  45. package/dist/core/url.js +46 -0
  46. package/dist/core/url.js.map +1 -0
  47. package/dist/errors/parse-error-body.d.ts +20 -0
  48. package/dist/errors/parse-error-body.d.ts.map +1 -0
  49. package/dist/errors/parse-error-body.js +73 -0
  50. package/dist/errors/parse-error-body.js.map +1 -0
  51. package/dist/errors/smess-api-error.d.ts +70 -0
  52. package/dist/errors/smess-api-error.d.ts.map +1 -0
  53. package/dist/errors/smess-api-error.js +84 -0
  54. package/dist/errors/smess-api-error.js.map +1 -0
  55. package/dist/index.d.ts +27 -25
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +15 -29
  58. package/dist/index.js.map +1 -0
  59. package/dist/modules/authentication/index.d.ts +89 -0
  60. package/dist/modules/authentication/index.d.ts.map +1 -0
  61. package/dist/modules/authentication/index.js +128 -0
  62. package/dist/modules/authentication/index.js.map +1 -0
  63. package/dist/modules/campaign/index.d.ts +212 -0
  64. package/dist/modules/campaign/index.d.ts.map +1 -0
  65. package/dist/modules/campaign/index.js +193 -0
  66. package/dist/modules/campaign/index.js.map +1 -0
  67. package/dist/modules/campaign/types.d.ts +562 -0
  68. package/dist/modules/campaign/types.d.ts.map +1 -0
  69. package/dist/modules/campaign/types.js +2 -0
  70. package/dist/modules/campaign/types.js.map +1 -0
  71. package/dist/modules/danara/index.d.ts +153 -0
  72. package/dist/modules/danara/index.d.ts.map +1 -0
  73. package/dist/modules/danara/index.js +144 -0
  74. package/dist/modules/danara/index.js.map +1 -0
  75. package/dist/modules/danara/types.d.ts +479 -0
  76. package/dist/modules/danara/types.d.ts.map +1 -0
  77. package/dist/modules/danara/types.js +2 -0
  78. package/dist/modules/danara/types.js.map +1 -0
  79. package/dist/modules/smeup-file/index.d.ts +27 -0
  80. package/dist/modules/smeup-file/index.d.ts.map +1 -0
  81. package/dist/modules/smeup-file/index.js +17 -0
  82. package/dist/modules/smeup-file/index.js.map +1 -0
  83. package/dist/modules/sso/index.d.ts +40 -0
  84. package/dist/modules/sso/index.d.ts.map +1 -0
  85. package/dist/modules/sso/index.js +41 -0
  86. package/dist/modules/sso/index.js.map +1 -0
  87. package/dist/rx/index.d.ts +11 -0
  88. package/dist/rx/index.d.ts.map +1 -0
  89. package/dist/rx/index.js +20 -0
  90. package/dist/rx/index.js.map +1 -0
  91. package/dist/session/auth-middleware.d.ts +27 -0
  92. package/dist/session/auth-middleware.d.ts.map +1 -0
  93. package/dist/session/auth-middleware.js +122 -0
  94. package/dist/session/auth-middleware.js.map +1 -0
  95. package/dist/session/jwt.d.ts +20 -0
  96. package/dist/session/jwt.d.ts.map +1 -0
  97. package/dist/session/jwt.js +25 -0
  98. package/dist/session/jwt.js.map +1 -0
  99. package/dist/session/stores.d.ts +19 -0
  100. package/dist/session/stores.d.ts.map +1 -0
  101. package/dist/session/stores.js +103 -0
  102. package/dist/session/stores.js.map +1 -0
  103. package/dist/session/types.d.ts +28 -0
  104. package/dist/session/types.d.ts.map +1 -0
  105. package/dist/session/types.js +2 -0
  106. package/dist/session/types.js.map +1 -0
  107. package/package.json +80 -30
  108. package/dist/core/axios.d.ts +0 -51
  109. package/dist/core/axios.js +0 -65
  110. package/dist/core/axios.observable.d.ts +0 -11
  111. package/dist/core/axios.observable.js +0 -58
  112. package/dist/core/base.provider.advanced.test.d.ts +0 -1
  113. package/dist/core/base.provider.advanced.test.js +0 -29
  114. package/dist/core/base.provider.d.ts +0 -15
  115. package/dist/core/base.provider.js +0 -13
  116. package/dist/core/base.provider.test.d.ts +0 -1
  117. package/dist/core/base.provider.test.js +0 -36
  118. package/dist/core/base.service.wrapper.advanced.test.d.ts +0 -1
  119. package/dist/core/base.service.wrapper.advanced.test.js +0 -39
  120. package/dist/core/base.service.wrapper.d.ts +0 -7
  121. package/dist/core/base.service.wrapper.js +0 -11
  122. package/dist/core/base.service.wrapper.test.d.ts +0 -1
  123. package/dist/core/base.service.wrapper.test.js +0 -25
  124. package/dist/core/rx.http.service.d.ts +0 -51
  125. package/dist/core/rx.http.service.js +0 -65
  126. package/dist/services/auth.service.d.ts +0 -69
  127. package/dist/services/auth.service.js +0 -197
  128. package/dist/services/auth.service.test.d.ts +0 -1
  129. package/dist/services/auth.service.test.js +0 -340
  130. package/dist/services/cache.service.d.ts +0 -31
  131. package/dist/services/cache.service.js +0 -77
  132. package/dist/services/cache.service.test.d.ts +0 -1
  133. package/dist/services/cache.service.test.js +0 -88
  134. package/dist/services/customer.service.d.ts +0 -213
  135. package/dist/services/customer.service.js +0 -128
  136. package/dist/services/customer.service.test.d.ts +0 -1
  137. package/dist/services/customer.service.test.js +0 -430
  138. package/dist/services/employee.service.d.ts +0 -73
  139. package/dist/services/employee.service.js +0 -74
  140. package/dist/services/employee.service.test.d.ts +0 -1
  141. package/dist/services/employee.service.test.js +0 -127
  142. package/dist/services/logger.service.d.ts +0 -31
  143. package/dist/services/logger.service.js +0 -93
  144. package/dist/services/logger.service.test.d.ts +0 -1
  145. package/dist/services/logger.service.test.js +0 -31
  146. package/dist/services/order.service.d.ts +0 -73
  147. package/dist/services/order.service.js +0 -97
  148. package/dist/services/order.service.test.d.ts +0 -1
  149. package/dist/services/order.service.test.js +0 -163
  150. package/dist/services/product.service.d.ts +0 -21
  151. package/dist/services/product.service.js +0 -42
  152. package/dist/services/product.service.test.d.ts +0 -1
  153. package/dist/services/product.service.test.js +0 -61
  154. package/dist/services/smess.service.d.ts +0 -36
  155. package/dist/services/smess.service.js +0 -128
  156. package/dist/services/smess.service.test.d.ts +0 -1
  157. package/dist/services/smess.service.test.js +0 -103
  158. package/dist/services/store.cart.service.d.ts +0 -158
  159. package/dist/services/store.cart.service.js +0 -177
  160. package/dist/services/store.cart.service.test.d.ts +0 -1
  161. package/dist/services/store.cart.service.test.js +0 -394
  162. package/dist/services/store.product.service.d.ts +0 -124
  163. package/dist/services/store.product.service.js +0 -102
  164. package/dist/services/store.product.service.test.d.ts +0 -1
  165. package/dist/services/store.product.service.test.js +0 -319
  166. package/dist/services/store.service.d.ts +0 -79
  167. package/dist/services/store.service.js +0 -235
  168. package/dist/services/store.service.test.d.ts +0 -1
  169. package/dist/services/store.service.test.js +0 -274
  170. package/dist/services/storefront.cart.service.d.ts +0 -73
  171. package/dist/services/storefront.cart.service.js +0 -167
  172. package/dist/services/storefront.cart.service.test.d.ts +0 -1
  173. package/dist/services/storefront.cart.service.test.js +0 -211
  174. package/dist/services/storefront.checkout.service.d.ts +0 -62
  175. package/dist/services/storefront.checkout.service.js +0 -75
  176. package/dist/services/storefront.checkout.service.test.d.ts +0 -1
  177. package/dist/services/storefront.checkout.service.test.js +0 -158
  178. package/dist/services/storefront.customer.metadata.service.d.ts +0 -91
  179. package/dist/services/storefront.customer.metadata.service.js +0 -225
  180. package/dist/services/storefront.customer.metadata.service.test.d.ts +0 -1
  181. package/dist/services/storefront.customer.metadata.service.test.js +0 -271
  182. package/dist/services/storefront.order.service.d.ts +0 -45
  183. package/dist/services/storefront.order.service.js +0 -99
  184. package/dist/services/storefront.order.service.test.d.ts +0 -1
  185. package/dist/services/storefront.order.service.test.js +0 -158
  186. package/dist/services/storefront.product.service.d.ts +0 -52
  187. package/dist/services/storefront.product.service.js +0 -75
  188. package/dist/services/storefront.product.service.test.d.ts +0 -1
  189. package/dist/services/storefront.product.service.test.js +0 -120
  190. package/dist/services/storefront.store.service.d.ts +0 -54
  191. package/dist/services/storefront.store.service.js +0 -142
  192. package/dist/services/storefront.store.service.test.d.ts +0 -1
  193. package/dist/services/storefront.store.service.test.js +0 -90
  194. package/dist/services/user.service.d.ts +0 -16
  195. package/dist/services/user.service.js +0 -37
  196. package/dist/services/user.service.test.d.ts +0 -1
  197. package/dist/services/user.service.test.js +0 -52
  198. package/dist/services/utils/withAuthReset.d.ts +0 -3
  199. package/dist/services/utils/withAuthReset.js +0 -8
  200. package/dist/src/core/axios.d.ts +0 -51
  201. package/dist/src/core/axios.js +0 -65
  202. package/dist/src/core/axios.observable.d.ts +0 -11
  203. package/dist/src/core/axios.observable.js +0 -58
  204. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  205. package/dist/src/core/base.provider.advanced.test.js +0 -29
  206. package/dist/src/core/base.provider.d.ts +0 -15
  207. package/dist/src/core/base.provider.js +0 -13
  208. package/dist/src/core/base.provider.test.d.ts +0 -1
  209. package/dist/src/core/base.provider.test.js +0 -36
  210. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  211. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  212. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  213. package/dist/src/core/base.service.wrapper.js +0 -11
  214. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  215. package/dist/src/core/base.service.wrapper.test.js +0 -25
  216. package/dist/src/core/rx.http.service.d.ts +0 -51
  217. package/dist/src/core/rx.http.service.js +0 -65
  218. package/dist/src/index.d.ts +0 -25
  219. package/dist/src/index.js +0 -29
  220. package/dist/src/services/auth.service.d.ts +0 -69
  221. package/dist/src/services/auth.service.js +0 -197
  222. package/dist/src/services/auth.service.test.d.ts +0 -1
  223. package/dist/src/services/auth.service.test.js +0 -340
  224. package/dist/src/services/cache.service.d.ts +0 -31
  225. package/dist/src/services/cache.service.js +0 -77
  226. package/dist/src/services/cache.service.test.d.ts +0 -1
  227. package/dist/src/services/cache.service.test.js +0 -88
  228. package/dist/src/services/customer.service.d.ts +0 -199
  229. package/dist/src/services/customer.service.js +0 -114
  230. package/dist/src/services/customer.service.test.d.ts +0 -1
  231. package/dist/src/services/customer.service.test.js +0 -430
  232. package/dist/src/services/employee.service.d.ts +0 -73
  233. package/dist/src/services/employee.service.js +0 -74
  234. package/dist/src/services/employee.service.test.d.ts +0 -1
  235. package/dist/src/services/employee.service.test.js +0 -127
  236. package/dist/src/services/logger.service.d.ts +0 -31
  237. package/dist/src/services/logger.service.js +0 -93
  238. package/dist/src/services/logger.service.test.d.ts +0 -1
  239. package/dist/src/services/logger.service.test.js +0 -31
  240. package/dist/src/services/order.service.d.ts +0 -73
  241. package/dist/src/services/order.service.js +0 -97
  242. package/dist/src/services/order.service.test.d.ts +0 -1
  243. package/dist/src/services/order.service.test.js +0 -163
  244. package/dist/src/services/product.service.d.ts +0 -21
  245. package/dist/src/services/product.service.js +0 -42
  246. package/dist/src/services/product.service.test.d.ts +0 -1
  247. package/dist/src/services/product.service.test.js +0 -61
  248. package/dist/src/services/smess.service.d.ts +0 -36
  249. package/dist/src/services/smess.service.js +0 -128
  250. package/dist/src/services/smess.service.test.d.ts +0 -1
  251. package/dist/src/services/smess.service.test.js +0 -103
  252. package/dist/src/services/store.cart.service.d.ts +0 -158
  253. package/dist/src/services/store.cart.service.js +0 -177
  254. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  255. package/dist/src/services/store.cart.service.test.js +0 -394
  256. package/dist/src/services/store.product.service.d.ts +0 -124
  257. package/dist/src/services/store.product.service.js +0 -102
  258. package/dist/src/services/store.product.service.test.d.ts +0 -1
  259. package/dist/src/services/store.product.service.test.js +0 -319
  260. package/dist/src/services/store.service.d.ts +0 -79
  261. package/dist/src/services/store.service.js +0 -235
  262. package/dist/src/services/store.service.test.d.ts +0 -1
  263. package/dist/src/services/store.service.test.js +0 -274
  264. package/dist/src/services/storefront.cart.service.d.ts +0 -73
  265. package/dist/src/services/storefront.cart.service.js +0 -167
  266. package/dist/src/services/storefront.cart.service.test.d.ts +0 -1
  267. package/dist/src/services/storefront.cart.service.test.js +0 -211
  268. package/dist/src/services/storefront.checkout.service.d.ts +0 -62
  269. package/dist/src/services/storefront.checkout.service.js +0 -75
  270. package/dist/src/services/storefront.checkout.service.test.d.ts +0 -1
  271. package/dist/src/services/storefront.checkout.service.test.js +0 -158
  272. package/dist/src/services/storefront.customer.metadata.service.d.ts +0 -91
  273. package/dist/src/services/storefront.customer.metadata.service.js +0 -225
  274. package/dist/src/services/storefront.customer.metadata.service.test.d.ts +0 -1
  275. package/dist/src/services/storefront.customer.metadata.service.test.js +0 -271
  276. package/dist/src/services/storefront.order.service.d.ts +0 -45
  277. package/dist/src/services/storefront.order.service.js +0 -99
  278. package/dist/src/services/storefront.order.service.test.d.ts +0 -1
  279. package/dist/src/services/storefront.order.service.test.js +0 -158
  280. package/dist/src/services/storefront.product.service.d.ts +0 -52
  281. package/dist/src/services/storefront.product.service.js +0 -75
  282. package/dist/src/services/storefront.product.service.test.d.ts +0 -1
  283. package/dist/src/services/storefront.product.service.test.js +0 -120
  284. package/dist/src/services/storefront.store.service.d.ts +0 -52
  285. package/dist/src/services/storefront.store.service.js +0 -140
  286. package/dist/src/services/storefront.store.service.test.d.ts +0 -1
  287. package/dist/src/services/storefront.store.service.test.js +0 -90
  288. package/dist/src/services/user.service.d.ts +0 -16
  289. package/dist/src/services/user.service.js +0 -37
  290. package/dist/src/services/user.service.test.d.ts +0 -1
  291. package/dist/src/services/user.service.test.js +0 -52
  292. package/dist/src/services/utils/withAuthReset.d.ts +0 -3
  293. package/dist/src/services/utils/withAuthReset.js +0 -8
  294. package/dist/src/types/types.d.ts +0 -93
  295. package/dist/src/types/types.js +0 -82
  296. package/dist/src/types/types.test.d.ts +0 -1
  297. package/dist/src/types/types.test.js +0 -25
  298. package/dist/src/utils/cache-import.d.ts +0 -3
  299. package/dist/src/utils/cache-import.js +0 -2
  300. package/dist/src/utils/networking-import.d.ts +0 -4
  301. package/dist/src/utils/networking-import.js +0 -3
  302. package/dist/src/utils/rxjs-import.d.ts +0 -5
  303. package/dist/src/utils/rxjs-import.js +0 -5
  304. package/dist/types/types.d.ts +0 -96
  305. package/dist/types/types.js +0 -82
  306. package/dist/types/types.test.d.ts +0 -1
  307. package/dist/types/types.test.js +0 -25
  308. package/dist/utils/cache-import.d.ts +0 -3
  309. package/dist/utils/cache-import.js +0 -2
  310. package/dist/utils/networking-import.d.ts +0 -4
  311. package/dist/utils/networking-import.js +0 -3
  312. package/dist/utils/rxjs-import.d.ts +0 -5
  313. package/dist/utils/rxjs-import.js +0 -5
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Danara module (`src/Microservice/Danara`, host `app.danara_host` → api.danara.vn).
3
+ *
4
+ * - Every route is tenant-scoped: the client needs `clientId` (the Danara Authentication Client). The
5
+ * login JWT is stamped for that tenant, so sending the same `X-Client-Id` with it is required.
6
+ * - Catalog, transit, inquiries and sign-in routes are anonymous (`auth: 'none'`); the identity, leasing,
7
+ * fit-out project and owner-portal routes need the Danara token.
8
+ * - Danara logins return no refresh token: a session ends when the JWT expires (3600 s).
9
+ * - Envelopes differ by route and are kept as sent: `{data, meta}` for listings and sales, bare arrays
10
+ * elsewhere, `{data, …attribution}` for transit.
11
+ */
12
+ import type { SmessClient } from '../../core/client.js';
13
+ import type { CallOptions } from '../../core/endpoint.js';
14
+ import type { PagedList } from '../../core/pagination.js';
15
+ import type { ApplicationInput, BillingSummary, DanaraAuthResponse, DanaraHealth, DanaraLocale, DanaraLoginInput, DanaraOtpRequestInput, DanaraOtpVerifyInput, DanaraRegisterInput, DanaraResetPasswordInput, DanaraStatusOk, DanaraUser, FitoutPackage, FitoutProject, InquiryInput, Listing, ListingsQuery, MaintenanceTicket, MaintenanceTicketInput, OwnerFinance, OwnerInvoice, OwnerListingCreated, OwnerListingInput, OwnerProperty, QuotationInput, Received, RentalApplication, RentalContract, SaleInquiryInput, SaleListing, SalesQuery, TourInput, TourRequest, TransitAnnouncementsResponse, TransitLanguageQuery, TransitNearbyQuery, TransitNearbyResponse, TransitPlanQuery, TransitPlanResponse, TransitRouteResponse, TransitRoutesResponse, TransitSearchResponse } from './types.js';
16
+ export type * from './types.js';
17
+ export declare const danaraEndpoints: {
18
+ readonly health: import("../../core/endpoint.js").Endpoint<"/v1/health", never, never, DanaraHealth>;
19
+ readonly login: import("../../core/endpoint.js").Endpoint<"/v1/auth/login", DanaraLoginInput, never, DanaraAuthResponse>;
20
+ readonly register: import("../../core/endpoint.js").Endpoint<"/v1/auth/register", DanaraRegisterInput, never, DanaraAuthResponse>;
21
+ readonly otpRequest: import("../../core/endpoint.js").Endpoint<"/v1/auth/otp/request", DanaraOtpRequestInput, never, DanaraStatusOk>;
22
+ readonly otpVerify: import("../../core/endpoint.js").Endpoint<"/v1/auth/otp/verify", DanaraOtpVerifyInput, never, DanaraAuthResponse>;
23
+ readonly forgotPassword: import("../../core/endpoint.js").Endpoint<"/v1/auth/forgot-password", {
24
+ email: string;
25
+ }, never, DanaraStatusOk>;
26
+ readonly resetPassword: import("../../core/endpoint.js").Endpoint<"/v1/auth/reset-password", DanaraResetPasswordInput, never, DanaraAuthResponse>;
27
+ readonly me: import("../../core/endpoint.js").Endpoint<"/v1/auth/me", never, never, DanaraUser>;
28
+ readonly updateLocale: import("../../core/endpoint.js").Endpoint<"/v1/auth/me/locale", {
29
+ preferredLocale: DanaraLocale;
30
+ }, never, DanaraUser>;
31
+ readonly deleteAccount: import("../../core/endpoint.js").Endpoint<"/v1/auth/me", never, never, undefined>;
32
+ readonly listings: import("../../core/endpoint.js").Endpoint<"/v1/listings", never, ListingsQuery, PagedList<Listing>>;
33
+ readonly listing: import("../../core/endpoint.js").Endpoint<"/v1/listings/{identifier}", never, never, Listing>;
34
+ readonly listingInquiry: import("../../core/endpoint.js").Endpoint<"/v1/listings/{identifier}/inquiries", InquiryInput, never, Received>;
35
+ readonly saleListings: import("../../core/endpoint.js").Endpoint<"/v1/sales/listings", never, SalesQuery, PagedList<SaleListing>>;
36
+ readonly saleListing: import("../../core/endpoint.js").Endpoint<"/v1/sales/listings/{uuid}", never, never, SaleListing>;
37
+ readonly saleListingByProperty: import("../../core/endpoint.js").Endpoint<"/v1/sales/listings/by-property/{propertyUuid}", never, never, SaleListing | null>;
38
+ readonly saleInquiry: import("../../core/endpoint.js").Endpoint<"/v1/sales/listings/{uuid}/inquiries", SaleInquiryInput, never, Received>;
39
+ readonly fitoutPackages: import("../../core/endpoint.js").Endpoint<"/v1/fitout/packages", never, never, FitoutPackage[]>;
40
+ readonly fitoutPackage: import("../../core/endpoint.js").Endpoint<"/v1/fitout/packages/{uuidOrSlug}", never, never, FitoutPackage>;
41
+ readonly quotation: import("../../core/endpoint.js").Endpoint<"/v1/fitout/quotations", QuotationInput, never, Received>;
42
+ readonly fitoutProjects: import("../../core/endpoint.js").Endpoint<"/v1/fitout/projects", never, never, FitoutProject[]>;
43
+ readonly tour: import("../../core/endpoint.js").Endpoint<"/v1/tours", TourInput, never, TourRequest>;
44
+ readonly applications: import("../../core/endpoint.js").Endpoint<"/v1/applications", never, never, RentalApplication[]>;
45
+ readonly application: import("../../core/endpoint.js").Endpoint<"/v1/applications", ApplicationInput, never, RentalApplication>;
46
+ readonly contract: import("../../core/endpoint.js").Endpoint<"/v1/contracts/{uuid}", never, never, RentalContract>;
47
+ readonly signContract: import("../../core/endpoint.js").Endpoint<"/v1/contracts/{uuid}/sign", {
48
+ accepted: boolean;
49
+ }, never, RentalContract>;
50
+ readonly ownerProperties: import("../../core/endpoint.js").Endpoint<"/v1/owners/properties", never, never, OwnerProperty[]>;
51
+ readonly ownerFinances: import("../../core/endpoint.js").Endpoint<"/v1/owners/finances", never, never, OwnerFinance[]>;
52
+ readonly ownerListing: import("../../core/endpoint.js").Endpoint<"/v1/owners/listings", OwnerListingInput, never, OwnerListingCreated>;
53
+ readonly maintenanceTickets: import("../../core/endpoint.js").Endpoint<"/v1/maintenance/tickets", never, never, MaintenanceTicket[]>;
54
+ readonly maintenanceTicket: import("../../core/endpoint.js").Endpoint<"/v1/maintenance/tickets", MaintenanceTicketInput, never, MaintenanceTicket>;
55
+ readonly billingSummary: import("../../core/endpoint.js").Endpoint<"/v1/billing/summary", never, never, BillingSummary>;
56
+ readonly invoices: import("../../core/endpoint.js").Endpoint<"/v1/billing/invoices", never, never, OwnerInvoice[]>;
57
+ readonly transitRoutes: import("../../core/endpoint.js").Endpoint<"/v1/transit/routes", never, TransitLanguageQuery, TransitRoutesResponse>;
58
+ readonly transitRoute: import("../../core/endpoint.js").Endpoint<"/v1/transit/routes/{id}", never, TransitLanguageQuery, TransitRouteResponse>;
59
+ readonly transitNearbyStops: import("../../core/endpoint.js").Endpoint<"/v1/transit/stops/nearby", never, TransitNearbyQuery, TransitNearbyResponse>;
60
+ readonly transitSearchStops: import("../../core/endpoint.js").Endpoint<"/v1/transit/stops", never, {
61
+ q: string;
62
+ }, TransitSearchResponse>;
63
+ readonly transitAnnouncements: import("../../core/endpoint.js").Endpoint<"/v1/transit/announcements", never, TransitLanguageQuery, TransitAnnouncementsResponse>;
64
+ readonly transitPlan: import("../../core/endpoint.js").Endpoint<"/v1/transit/plan", never, TransitPlanQuery, TransitPlanResponse>;
65
+ };
66
+ type QueryOf<Q> = {
67
+ [K in keyof Q]: Q[K];
68
+ };
69
+ export declare function danara(client: SmessClient): {
70
+ health: (o?: CallOptions) => Promise<DanaraHealth>;
71
+ auth: {
72
+ login: (input: DanaraLoginInput, o?: CallOptions) => Promise<DanaraAuthResponse>;
73
+ /** 409 `email_already_registered` when the email has an account. */
74
+ register: (input: DanaraRegisterInput, o?: CallOptions) => Promise<DanaraAuthResponse>;
75
+ otp: {
76
+ /** Always `{status: 'ok'}`. */
77
+ request: (input: DanaraOtpRequestInput, o?: CallOptions) => Promise<DanaraStatusOk>;
78
+ /** Signs in, or signs up when the email has no account. 401 on a wrong or expired code. */
79
+ verify: (input: DanaraOtpVerifyInput, o?: CallOptions) => Promise<DanaraAuthResponse>;
80
+ };
81
+ forgotPassword: (emailAddress: string, o?: CallOptions) => Promise<DanaraStatusOk>;
82
+ /** 400 when the link is invalid or expired. */
83
+ resetPassword: (input: DanaraResetPasswordInput, o?: CallOptions) => Promise<DanaraAuthResponse>;
84
+ me: (o?: CallOptions) => Promise<DanaraUser>;
85
+ updateLocale: (preferredLocale: DanaraLocale, o?: CallOptions) => Promise<DanaraUser>;
86
+ /** 409 `deletion_requires_support` when the account owns records that must be kept. */
87
+ deleteAccount: (o?: CallOptions) => Promise<undefined>;
88
+ };
89
+ listings: {
90
+ /** Published listings, newest first. */
91
+ list: (query?: QueryOf<ListingsQuery>, o?: CallOptions) => Promise<PagedList<Listing>>;
92
+ /** By slug or uuid. */
93
+ get: (identifier: string, o?: CallOptions) => Promise<Listing>;
94
+ inquire: (identifier: string, input: InquiryInput, o?: CallOptions) => Promise<Received>;
95
+ };
96
+ sales: {
97
+ list: (query?: SalesQuery, o?: CallOptions) => Promise<PagedList<SaleListing>>;
98
+ get: (uuid: string, o?: CallOptions) => Promise<SaleListing>;
99
+ /** The property's published sale listing, or null. */
100
+ byProperty: (propertyUuid: string, o?: CallOptions) => Promise<SaleListing | null>;
101
+ inquire: (uuid: string, input: SaleInquiryInput, o?: CallOptions) => Promise<Received>;
102
+ };
103
+ fitout: {
104
+ packages: {
105
+ list: (o?: CallOptions) => Promise<FitoutPackage[]>;
106
+ get: (uuidOrSlug: string, o?: CallOptions) => Promise<FitoutPackage>;
107
+ };
108
+ requestQuotation: (input: QuotationInput, o?: CallOptions) => Promise<Received>;
109
+ projects: {
110
+ list: (o?: CallOptions) => Promise<FitoutProject[]>;
111
+ };
112
+ };
113
+ leasing: {
114
+ requestTour: (input: TourInput, o?: CallOptions) => Promise<TourRequest>;
115
+ applications: {
116
+ list: (o?: CallOptions) => Promise<RentalApplication[]>;
117
+ create: (input: ApplicationInput, o?: CallOptions) => Promise<RentalApplication>;
118
+ };
119
+ contracts: {
120
+ get: (uuid: string, o?: CallOptions) => Promise<RentalContract>;
121
+ /** `accepted: false` is rejected with 400. Signing twice is a no-op. */
122
+ sign: (uuid: string, accepted: boolean, o?: CallOptions) => Promise<RentalContract>;
123
+ };
124
+ };
125
+ ownerPortal: {
126
+ properties: (o?: CallOptions) => Promise<OwnerProperty[]>;
127
+ finances: (o?: CallOptions) => Promise<OwnerFinance[]>;
128
+ submitListing: (input: OwnerListingInput, o?: CallOptions) => Promise<OwnerListingCreated>;
129
+ maintenanceTickets: {
130
+ list: (o?: CallOptions) => Promise<MaintenanceTicket[]>;
131
+ create: (input: MaintenanceTicketInput, o?: CallOptions) => Promise<MaintenanceTicket>;
132
+ };
133
+ billing: {
134
+ summary: (o?: CallOptions) => Promise<BillingSummary>;
135
+ invoices: (o?: CallOptions) => Promise<OwnerInvoice[]>;
136
+ };
137
+ };
138
+ transit: {
139
+ routes: {
140
+ list: (query?: TransitLanguageQuery, o?: CallOptions) => Promise<TransitRoutesResponse>;
141
+ get: (id: string, query?: TransitLanguageQuery, o?: CallOptions) => Promise<TransitRouteResponse>;
142
+ };
143
+ stops: {
144
+ nearby: (query: TransitNearbyQuery, o?: CallOptions) => Promise<TransitNearbyResponse>;
145
+ /** `q` needs at least 2 characters. */
146
+ search: (q: string, o?: CallOptions) => Promise<TransitSearchResponse>;
147
+ };
148
+ announcements: (query?: TransitLanguageQuery, o?: CallOptions) => Promise<TransitAnnouncementsResponse>;
149
+ plan: (query: TransitPlanQuery, o?: CallOptions) => Promise<TransitPlanResponse>;
150
+ };
151
+ };
152
+ export type DanaraModule = ReturnType<typeof danara>;
153
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/danara/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,mBAAmB,YAAY,CAAC;AAOhC,eAAO,MAAM,eAAe;;;;;;;eAOqB,MAAM;;;;;yBAGF,YAAY;;;;;;;;;;;;;;;;;;;kBA6Bf,OAAO;;;;;;;;;;;;;WAaK,MAAM;;;;CAG1D,CAAC;AAEX,KAAK,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE3C,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW;iBASzB,WAAW;;uBAGD,gBAAgB,MAAM,WAAW;QACtD,oEAAoE;0BAC5C,mBAAmB,MAAM,WAAW;;YAE1D,+BAA+B;6BACd,qBAAqB,MAAM,WAAW;YACvD,2FAA2F;4BACrE,oBAAoB,MAAM,WAAW;;uCAE9B,MAAM,MAAM,WAAW;QACtD,+CAA+C;+BAClB,wBAAwB,MAAM,WAAW;iBAE7D,WAAW;wCACY,YAAY,MAAM,WAAW;QAE7D,uFAAuF;4BACnE,WAAW;;;QAI/B,wCAAwC;uBACzB,OAAO,CAAC,aAAa,CAAC,MAAM,WAAW;QACtD,uBAAuB;0BACL,MAAM,MAAM,WAAW;8BACnB,MAAM,SAAS,YAAY,MAAM,WAAW;;;uBAKnD,UAAU,MAAM,WAAW;oBAC9B,MAAM,MAAM,WAAW;QACnC,sDAAsD;mCAC3B,MAAM,MAAM,WAAW;wBAClC,MAAM,SAAS,gBAAgB,MAAM,WAAW;;;;uBAKnD,WAAW;8BACJ,MAAM,MAAM,WAAW;;kCAEjB,cAAc,MAAM,WAAW;;uBAE5C,WAAW;;;;6BAKH,SAAS,MAAM,WAAW;;uBAElC,WAAW;4BACN,gBAAgB,MAAM,WAAW;;;wBAGrC,MAAM,MAAM,WAAW;YACnC,wEAAwE;yBAC3D,MAAM,YAAY,OAAO,MAAM,WAAW;;;;yBAKxC,WAAW;uBACb,WAAW;+BACH,iBAAiB,MAAM,WAAW;;uBAE5C,WAAW;4BACN,sBAAsB,MAAM,WAAW;;;0BAGzC,WAAW;2BACV,WAAW;;;;;2BAMX,oBAAoB,MAAM,WAAW;sBAC1C,MAAM,UAAU,oBAAoB,MAAM,WAAW;;;4BAG/C,kBAAkB,MAAM,WAAW;YACnD,uCAAuC;wBAC3B,MAAM,MAAM,WAAW;;gCAEb,oBAAoB,MAAM,WAAW;sBAC/C,gBAAgB,MAAM,WAAW;;EAGpD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { emptyObjectAsNull } from '../../core/decoders.js';
2
+ import { defineEndpoint } from '../../core/endpoint.js';
3
+ const route = () => (method, path, auth) => defineEndpoint()({ service: 'danara', method, path, auth, requiresTenant: true });
4
+ export const danaraEndpoints = {
5
+ health: defineEndpoint()({ service: 'danara', method: 'GET', path: '/v1/health', auth: 'none' }),
6
+ login: route()('POST', '/v1/auth/login', 'none'),
7
+ register: route()('POST', '/v1/auth/register', 'none'),
8
+ otpRequest: route()('POST', '/v1/auth/otp/request', 'none'),
9
+ otpVerify: route()('POST', '/v1/auth/otp/verify', 'none'),
10
+ forgotPassword: route()('POST', '/v1/auth/forgot-password', 'none'),
11
+ resetPassword: route()('POST', '/v1/auth/reset-password', 'none'),
12
+ me: route()('GET', '/v1/auth/me', 'required'),
13
+ updateLocale: route()('PATCH', '/v1/auth/me/locale', 'required'),
14
+ deleteAccount: route()('DELETE', '/v1/auth/me', 'required'),
15
+ listings: route()('GET', '/v1/listings', 'none'),
16
+ listing: route()('GET', '/v1/listings/{identifier}', 'none'),
17
+ listingInquiry: route()('POST', '/v1/listings/{identifier}/inquiries', 'none'),
18
+ saleListings: route()('GET', '/v1/sales/listings', 'none'),
19
+ saleListing: route()('GET', '/v1/sales/listings/{uuid}', 'none'),
20
+ saleListingByProperty: defineEndpoint()({
21
+ service: 'danara',
22
+ method: 'GET',
23
+ path: '/v1/sales/listings/by-property/{propertyUuid}',
24
+ auth: 'none',
25
+ requiresTenant: true,
26
+ // No match is `JsonResponse(null)`, which Symfony encodes as `{}`.
27
+ decode: emptyObjectAsNull,
28
+ }),
29
+ saleInquiry: route()('POST', '/v1/sales/listings/{uuid}/inquiries', 'none'),
30
+ fitoutPackages: route()('GET', '/v1/fitout/packages', 'none'),
31
+ fitoutPackage: route()('GET', '/v1/fitout/packages/{uuidOrSlug}', 'none'),
32
+ quotation: route()('POST', '/v1/fitout/quotations', 'none'),
33
+ fitoutProjects: route()('GET', '/v1/fitout/projects', 'required'),
34
+ tour: route()('POST', '/v1/tours', 'required'),
35
+ applications: route()('GET', '/v1/applications', 'required'),
36
+ application: route()('POST', '/v1/applications', 'required'),
37
+ contract: route()('GET', '/v1/contracts/{uuid}', 'required'),
38
+ signContract: route()('POST', '/v1/contracts/{uuid}/sign', 'required'),
39
+ ownerProperties: route()('GET', '/v1/owners/properties', 'required'),
40
+ ownerFinances: route()('GET', '/v1/owners/finances', 'required'),
41
+ ownerListing: route()('POST', '/v1/owners/listings', 'required'),
42
+ maintenanceTickets: route()('GET', '/v1/maintenance/tickets', 'required'),
43
+ maintenanceTicket: route()('POST', '/v1/maintenance/tickets', 'required'),
44
+ billingSummary: route()('GET', '/v1/billing/summary', 'required'),
45
+ invoices: route()('GET', '/v1/billing/invoices', 'required'),
46
+ transitRoutes: route()('GET', '/v1/transit/routes', 'none'),
47
+ transitRoute: route()('GET', '/v1/transit/routes/{id}', 'none'),
48
+ transitNearbyStops: route()('GET', '/v1/transit/stops/nearby', 'none'),
49
+ transitSearchStops: route()('GET', '/v1/transit/stops', 'none'),
50
+ transitAnnouncements: route()('GET', '/v1/transit/announcements', 'none'),
51
+ transitPlan: route()('GET', '/v1/transit/plan', 'none'),
52
+ };
53
+ export function danara(client) {
54
+ const e = danaraEndpoints;
55
+ /** Danara logins have no refresh token: the session is just the access token. */
56
+ const save = async (response) => {
57
+ await client.session.set({ accessToken: response.token, refreshToken: null });
58
+ return response;
59
+ };
60
+ return {
61
+ health: (o) => client.call(e.health, o),
62
+ auth: {
63
+ login: async (input, o) => save(await client.call(e.login, { ...o, body: input })),
64
+ /** 409 `email_already_registered` when the email has an account. */
65
+ register: async (input, o) => save(await client.call(e.register, { ...o, body: input })),
66
+ otp: {
67
+ /** Always `{status: 'ok'}`. */
68
+ request: (input, o) => client.call(e.otpRequest, { ...o, body: input }),
69
+ /** Signs in, or signs up when the email has no account. 401 on a wrong or expired code. */
70
+ verify: async (input, o) => save(await client.call(e.otpVerify, { ...o, body: input })),
71
+ },
72
+ forgotPassword: (emailAddress, o) => client.call(e.forgotPassword, { ...o, body: { email: emailAddress } }),
73
+ /** 400 when the link is invalid or expired. */
74
+ resetPassword: async (input, o) => save(await client.call(e.resetPassword, { ...o, body: input })),
75
+ me: (o) => client.call(e.me, o),
76
+ updateLocale: (preferredLocale, o) => client.call(e.updateLocale, { ...o, body: { preferredLocale } }),
77
+ /** 409 `deletion_requires_support` when the account owns records that must be kept. */
78
+ deleteAccount: (o) => client.call(e.deleteAccount, o),
79
+ },
80
+ listings: {
81
+ /** Published listings, newest first. */
82
+ list: (query, o) => client.call(e.listings, { ...o, query }),
83
+ /** By slug or uuid. */
84
+ get: (identifier, o) => client.call(e.listing, { ...o, path: { identifier } }),
85
+ inquire: (identifier, input, o) => client.call(e.listingInquiry, { ...o, path: { identifier }, body: input }),
86
+ },
87
+ sales: {
88
+ list: (query, o) => client.call(e.saleListings, { ...o, query }),
89
+ get: (uuid, o) => client.call(e.saleListing, { ...o, path: { uuid } }),
90
+ /** The property's published sale listing, or null. */
91
+ byProperty: (propertyUuid, o) => client.call(e.saleListingByProperty, { ...o, path: { propertyUuid } }),
92
+ inquire: (uuid, input, o) => client.call(e.saleInquiry, { ...o, path: { uuid }, body: input }),
93
+ },
94
+ fitout: {
95
+ packages: {
96
+ list: (o) => client.call(e.fitoutPackages, o),
97
+ get: (uuidOrSlug, o) => client.call(e.fitoutPackage, { ...o, path: { uuidOrSlug } }),
98
+ },
99
+ requestQuotation: (input, o) => client.call(e.quotation, { ...o, body: input }),
100
+ projects: {
101
+ list: (o) => client.call(e.fitoutProjects, o),
102
+ },
103
+ },
104
+ leasing: {
105
+ requestTour: (input, o) => client.call(e.tour, { ...o, body: input }),
106
+ applications: {
107
+ list: (o) => client.call(e.applications, o),
108
+ create: (input, o) => client.call(e.application, { ...o, body: input }),
109
+ },
110
+ contracts: {
111
+ get: (uuid, o) => client.call(e.contract, { ...o, path: { uuid } }),
112
+ /** `accepted: false` is rejected with 400. Signing twice is a no-op. */
113
+ sign: (uuid, accepted, o) => client.call(e.signContract, { ...o, path: { uuid }, body: { accepted } }),
114
+ },
115
+ },
116
+ ownerPortal: {
117
+ properties: (o) => client.call(e.ownerProperties, o),
118
+ finances: (o) => client.call(e.ownerFinances, o),
119
+ submitListing: (input, o) => client.call(e.ownerListing, { ...o, body: input }),
120
+ maintenanceTickets: {
121
+ list: (o) => client.call(e.maintenanceTickets, o),
122
+ create: (input, o) => client.call(e.maintenanceTicket, { ...o, body: input }),
123
+ },
124
+ billing: {
125
+ summary: (o) => client.call(e.billingSummary, o),
126
+ invoices: (o) => client.call(e.invoices, o),
127
+ },
128
+ },
129
+ transit: {
130
+ routes: {
131
+ list: (query, o) => client.call(e.transitRoutes, { ...o, query }),
132
+ get: (id, query, o) => client.call(e.transitRoute, { ...o, path: { id }, query }),
133
+ },
134
+ stops: {
135
+ nearby: (query, o) => client.call(e.transitNearbyStops, { ...o, query }),
136
+ /** `q` needs at least 2 characters. */
137
+ search: (q, o) => client.call(e.transitSearchStops, { ...o, query: { q } }),
138
+ },
139
+ announcements: (query, o) => client.call(e.transitAnnouncements, { ...o, query }),
140
+ plan: (query, o) => client.call(e.transitPlan, { ...o, query }),
141
+ },
142
+ };
143
+ }
144
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/danara/index.ts"],"names":[],"mappings":"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"}