<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ceres/model/step.go, branch step-re-ordering</title>
<subtitle>Recipe server for your favorite dishes</subtitle>
<id>https://cgit.xengineering.eu/ceres/atom/model/step.go?h=step-re-ordering</id>
<link rel='self' href='https://cgit.xengineering.eu/ceres/atom/model/step.go?h=step-re-ordering'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/'/>
<updated>2024-09-11T18:25:54Z</updated>
<entry>
<title>Apply go fmt to all source files</title>
<updated>2024-09-11T18:25:54Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-09-11T18:25:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=54029aac92f17ec87d3ef0bb73fcdac271b209c9'/>
<id>urn:sha1:54029aac92f17ec87d3ef0bb73fcdac271b209c9</id>
<content type='text'>
This applies default Go code style recommendations.
</content>
</entry>
<entry>
<title>model: Add strict Step.Validate()</title>
<updated>2024-05-17T21:16:36Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-05-15T18:18:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=f8f5d296f218f79646a54d3aed8d54fa9f8704c1'/>
<id>urn:sha1:f8f5d296f218f79646a54d3aed8d54fa9f8704c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>model: Fix another unhandled error</title>
<updated>2024-05-17T21:15:56Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-05-17T21:15:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=5194ea4b29ffef0fe5206899243339cf109af41d'/>
<id>urn:sha1:5194ea4b29ffef0fe5206899243339cf109af41d</id>
<content type='text'>
This could also lead to bugs.
</content>
</entry>
<entry>
<title>model: Add per-step ingredients</title>
<updated>2024-05-12T18:52:25Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-04-04T12:54:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=87ae71413e47ef34da57bc1e0b8dddbf84b0c66a'/>
<id>urn:sha1:87ae71413e47ef34da57bc1e0b8dddbf84b0c66a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>model: CRUD methods only for targeted objects</title>
<updated>2024-04-06T18:22:04Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-04-06T16:45:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=4aee2c3b45caa890537a0fc0c850c4523a4eb56c'/>
<id>urn:sha1:4aee2c3b45caa890537a0fc0c850c4523a4eb56c</id>
<content type='text'>
A create, read, update or delete (CRUD) method should only care about
the object which provides the receiver and the relations to its child
objects.

For example the method

	func (r *Recipe) Create(tx *sql.Tx) error {}

should only create the relational data inside the database for the
recipe, not for the steps nested into this Recipe struct. This should be
covered by the

	func (s *Step) Create(tx *sql.Tx) error {}

method which is then called by `func (r *Recipe) Create()`.

This has the advantage that every CRUD method has a constraint scope and
is more unified since the Step CRUD methods now have a Step struct as
receiver instead of a Recipe receiver.
</content>
</entry>
<entry>
<title>model: Add recipe steps</title>
<updated>2024-03-24T09:10:54Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-10T09:59:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=ddc6e8e1fb8a4b1dfe8421b12e40b15162ae75f1'/>
<id>urn:sha1:ddc6e8e1fb8a4b1dfe8421b12e40b15162ae75f1</id>
<content type='text'>
This provides the infrastructure to create views and HTTP handlers to
provide recipe steps.
</content>
</entry>
</feed>
