Milvus.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { WS_EVENTS, WS_EVENTS_TYPE } from '@server/utils/Const';
  2. import BaseModel from './BaseModel';
  3. export class MilvusHttp extends BaseModel {
  4. static CONNECT_URL = '/milvus/connect';
  5. static DISCONNECT_URL = '/milvus/disconnect';
  6. static CHECK_URL = '/milvus/check';
  7. static FLUSH_URL = '/milvus/flush';
  8. static METRICS_URL = '/milvus/metrics';
  9. static VERSION_URL = '/milvus/version';
  10. static USE_DB_URL = '/milvus/usedb';
  11. static TIGGER_CRON_URL = '/crons';
  12. constructor(props: {}) {
  13. super(props);
  14. Object.assign(this, props);
  15. }
  16. static connect(data: {
  17. address: string;
  18. username?: string;
  19. password?: string;
  20. }) {
  21. return super.create({ path: this.CONNECT_URL, data });
  22. }
  23. static closeConnection() {
  24. return super.create({ path: this.DISCONNECT_URL });
  25. }
  26. static getVersion() {
  27. return super.search({ path: this.VERSION_URL, params: {} });
  28. }
  29. static check(address: string) {
  30. return super.search({
  31. path: this.CHECK_URL,
  32. params: { address },
  33. }) as Promise<{ connected: boolean }>;
  34. }
  35. static flush(collectionName: string) {
  36. return super.update({
  37. path: this.FLUSH_URL,
  38. data: {
  39. collection_names: [collectionName],
  40. },
  41. });
  42. }
  43. static getMetrics() {
  44. return super.search({
  45. path: this.METRICS_URL,
  46. params: {},
  47. });
  48. }
  49. static triggerCron(data: { name: WS_EVENTS; type: WS_EVENTS_TYPE }) {
  50. return super.update({
  51. path: this.TIGGER_CRON_URL,
  52. data,
  53. });
  54. }
  55. static useDatabase(data: { database: string }) {
  56. return super.create({ path: this.USE_DB_URL, data });
  57. }
  58. }