<feed xmlns='http://www.w3.org/2005/Atom'>
<title>finserv/password.go, branch auth</title>
<subtitle>Personal finances server</subtitle>
<id>https://cgit.xengineering.eu/finserv/atom/password.go?h=auth</id>
<link rel='self' href='https://cgit.xengineering.eu/finserv/atom/password.go?h=auth'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/finserv/'/>
<updated>2026-06-27T19:21:45Z</updated>
<entry>
<title>Switch Register() and Authenticate() to sql.Tx</title>
<updated>2026-06-27T19:21:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-06-27T19:21:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/finserv/commit/?id=132990e985751e40c263224a62983c8013409a36'/>
<id>urn:sha1:132990e985751e40c263224a62983c8013409a36</id>
<content type='text'>
Using sql.Tx (database transactions) instead of a plain database has the
advantage that the caller can wrap multiple library calls into one
transaction.

This guarantees that no database entries change between the library
calls which is critical to prevent race conditions.
</content>
</entry>
<entry>
<title>Add Authenticate()</title>
<updated>2026-06-20T15:12:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-06-20T15:07:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/finserv/commit/?id=a5c8467bbb14731847cdf8c37cbde0c91827022a'/>
<id>urn:sha1:a5c8467bbb14731847cdf8c37cbde0c91827022a</id>
<content type='text'>
This function validates a username and password against the database.
</content>
</entry>
<entry>
<title>Format password.go</title>
<updated>2026-06-20T15:12:14Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-06-20T15:01:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/finserv/commit/?id=6c0aaac6975bdee1596df5b72c1e47e6a923c79f'/>
<id>urn:sha1:6c0aaac6975bdee1596df5b72c1e47e6a923c79f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Register()</title>
<updated>2026-06-20T15:10:39Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2026-06-05T20:45:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/finserv/commit/?id=0143b6e4cb7c31abee7d71a2dbd713abcc98936d'/>
<id>urn:sha1:0143b6e4cb7c31abee7d71a2dbd713abcc98936d</id>
<content type='text'>
This function creates a new user and sets the username and bcrypt-hashed
password.
</content>
</entry>
</feed>
