MinionPoolSchemaPlugin.ts 818 B

123456789101112131415161718192021222324252627282930
  1. import { Field } from '@src/@types/Field'
  2. import DomUtils from '@src/utils/DomUtils'
  3. export default class MinionPoolSchemaPlugin {
  4. static getMinionPoolToOptionsQuery(envData?: any) {
  5. let envString = ''
  6. if (envData) {
  7. envString = `?env=${DomUtils.encodeToBase64Url(envData)}`
  8. }
  9. return envString
  10. }
  11. static minionPoolTransformOptionsFields(fields: Field[]) {
  12. return fields
  13. }
  14. static getMinionPoolEnv(schema: Field[], data: any) {
  15. const payload: any = {}
  16. schema.forEach(field => {
  17. if (data[field.name] === null || data[field.name] === undefined || data[field.name] === '') {
  18. if (field.default !== null) {
  19. payload[field.name] = field.default
  20. }
  21. } else {
  22. payload[field.name] = data[field.name]
  23. }
  24. })
  25. return payload
  26. }
  27. }