import {DeepPartial,IActionsCreator,IQuery,IQueryResults} from "@onebro/oba-common"; import {AppMaster} from "@onebro/appmaster"; import { OneToOneMantaTestSuiteActions, OneToOneMantaTestSuite, OneToOneMantaTestSuiteModelMap, OneToOneMantaTestSuiteInstanceMap} from "../types"; const wrapup = async (o:OneToOneMantaTestSuiteInstanceMap) => (await o.mantaTest.save()).json(); const wrapupQ = async (o:IQueryResults) => o; export const oneToOneMantaTestSuiteActions:IActionsCreator = async (m,{OneToOneMantaTestSuite}:OneToOneMantaTestSuiteModelMap) => { const actions:OneToOneMantaTestSuiteActions = { create$:async ({body}) => await Promise.resolve() .then(() => OneToOneMantaTestSuite._create(body)) .then(async o => await OneToOneMantaTestSuite._populate(o)) .then(o => wrapup({mantaTest:o})), query$:async ({query}) => await Promise.resolve() .then(async () => await OneToOneMantaTestSuite._query(new IQuery(query as any))) .then(async o => await wrapupQ(o)), fetch$:async ({params:{id}}) => await Promise.resolve() .then(() => OneToOneMantaTestSuite._find(id)) .then(o => OneToOneMantaTestSuite._populate(o)) .then(o => wrapup({mantaTest:o})), update$:async ({params:{id},body:updates}) => await Promise.resolve() .then(() => OneToOneMantaTestSuite._find(id)) .then(o => OneToOneMantaTestSuite._populate(o)) .then(o => OneToOneMantaTestSuite._update(o,updates)) .then(o => wrapup({mantaTest:o})), remove$:async ({params:{id}}) => await Promise.resolve() .then(() => OneToOneMantaTestSuite._find(id)) .then(o => o.remove()) .then(() => ({removed:id})), updateMany$:async ({body:{ids,updates}}:{body:{ids:string[],updates:DeepPartial}}) => await Promise.resolve() .then(async () => { if(ids.length){ const arr:OneToOneMantaTestSuite[] = []; for(let i = 0,l = ids.length;i { for(let i = 0,l = ids.length;i ({updated:n} as any)), removeMany$:async ({body:{ids}}:{body:{ids:string[]}}) => await Promise.resolve() .then(async () => { if(ids.length){ const arr:OneToOneMantaTestSuite[] = []; for(let i = 0,l = ids.length;i { for(let i = 0,l = o.length;i ({removed:n} as any)), search$:async ({body}) => await Promise.resolve({results:[]}), }; return actions; }; /* const sendsms = getWorker("oba-notifier-send-sms"); createSms$:async ({body}) => await Promise.resolve() .then(() => OneToOneMantaTestSuite._create(body)) .then(o => OneToOneMantaTestSuite._populate(o)) .then(o => wrapup({mantaTest:o})) .then(async o => { const mantaTestId = await sendsms?sendsms.add(o):null; return {...o,mantaTestId};}), */