From 293e2a52e0b45065db12ff27f89f1adebe4bf4d2 Mon Sep 17 00:00:00 2001 From: Stefan Majewsky Date: Fri, 10 Apr 2026 20:13:15 +0200 Subject: reorganize code --- markers.go | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 markers.go (limited to 'markers.go') diff --git a/markers.go b/markers.go deleted file mode 100644 index e62fe52..0000000 --- a/markers.go +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Stefan Majewsky -// SPDX-License-Identifier: Apache-2.0 - -package oblast - -// seal is a private type that appears in interface definitions below, -// to ensure that only types from this package can implement these interfaces. -type seal struct{} - -// TableInfo is a marker for struct types that correspond to tables. -// Put this as an embedded field on your struct type and put the table name in the field's `db` tag. -// -// // For example, this struct type... -// type LogEntry struct { -// oblast.TableInfo `db:"log_entries"` -// oblast.PrimaryKeyInfo `db:"id"` -// ID int64 `db:"id,auto"` -// CreatedAt time.Time `db:"created_at"` -// Message string `db:"message"` -// } -// // ...corresponds to this table schema (shown here in PostgreSQL syntax): -// CREATE TABLE log_entries ( -// id BIGSERIAL NOT NULL PRIMARY KEY, -// created_at TIMESTAMPTZ NOT NULL, -// message TEXT NOT NULL -// ); -// -// This marker is required for all operations that use autogenerated SQL statements. -type TableInfo struct{} - -// isTable implements the IsTable interface. -func (TableInfo) isTable(seal) {} - -// IsTable is implemented by all types that have an embedded field of type [TableInfo]. -type IsTable interface { - isTable(seal) -} - -// PrimaryKeyInfo is a marker for struct types that correspond to tables with a primary key. -// Put this as an embedded field on your struct type and list the columns of the primary key in the field's `db` tag, -// as shown on the example for type [TableInfo]. -// -// This marker is required for all UPDATE and DELETE operations that use autogenerated SQL statements. -type PrimaryKeyInfo struct{} -- cgit v1.2.3