MCPcopy Create free account
hub / github.com/APIParkLab/APIPark / Create

Method Create

service/universally/create-softDelete.go:39–79  ·  view source on GitHub ↗
(ctx context.Context, input *INPUT, appendLabels ...string)

Source from the content-addressed store, hash-verified

37}
38
39func (p *imlServiceCreateSoftDelete[INPUT, E]) Create(ctx context.Context, input *INPUT, appendLabels ...string) error {
40 operator := utils.UserId(ctx)
41 uniquest := p.uniquestHandler(input)
42
43 err := p.store.Transaction(ctx, func(ctx context.Context) error {
44 if uniquest != nil {
45 // check
46
47 for _, v := range uniquest {
48
49 v["is_delete"] = false
50
51 o, err := p.store.First(ctx, v)
52 if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
53 return err
54 }
55 if o != nil {
56 return fmt.Errorf("%s %v already exists", p.name, v)
57 }
58 }
59 }
60
61 ne := p.createEntityHandler(input)
62 auto.Auto("creator", operator, ne)
63 auto.Auto("updater", operator, ne)
64 err := p.store.Insert(ctx, ne)
65 if err != nil {
66 return err
67 }
68 labels := appendLabels
69 for _, hd := range p.labelHandler {
70 labels = append(labels, hd(ne)...)
71 }
72 return p.store.SetLabels(ctx, idValue(ne), labels...)
73 //return p.store.SetLabels(ctx, ne.Id, pn.UUID, pn.Name, pn.Url, pn.Prefix, pn.Resume)
74 })
75 if err != nil {
76 return err
77 }
78 return nil
79}

Callers

nothing calls this directly

Calls 3

idValueFunction · 0.85
uniquestHandlerMethod · 0.45
createEntityHandlerMethod · 0.45

Tested by

no test coverage detected