Documentation
¶
Index ¶
Constants ¶
const ( CTX_ROUTE = "route" CTX_USERNAME = "username" CTX_USER_ID = "user_id" CTX_SESSION_ID = "session_id" CTX_REQUIRES_AUTH = "requires_auth" DATE_TIME_LAYOUT = "2006-01-02 15:04:05" DATE_ID_LAYOUT = "20060102" JOB_SCHEDULE_TIME_LAYOUT = "2006-01-02 15:04:05" )
const ( QUERY_ID = "id" QUERY_PAGE = "page" QUERY_SIZE = "size" QUERY_LIMIT = "limit" QUERY_EXPAND = "_expand" QUERY_DEPTH = "_depth" QUERY_OR = "_or" QUERY_FUZZY = "_fuzzy" QUERY_SORTBY = "_sortby" QUERY_COLUMN_NAME = "_column_name" QUERY_START_TIME = "_start_time" QUERY_END_TIME = "_end_time" QUERY_NOCACHE = "_nocache" QUERY_TYPE = "type" QUERY_FILENAME = "filename" QUERY_NOTOTAL = "_nototal" QUERY_INDEX = "_index" QUERY_SELECT = "_select" QUERY_CURSOR_VALUE = "_cursor_value" QUERY_CURSOR_FIELDS = "_cursor_fields" QUERY_CURSOR_NEXT = "_cursor_next" PARAM_ID = "id" PARAM_FILE = "file" VALUE_ALL = "all" REQUEST_ID = "request_id" TRACE_ID = "trace_id" SPAN_ID = "span_id" PSPAN_ID = "pspan_id" SEQ = "seq" PREFIX_REQUEST_ID = "rq_" PREFIX_TRACE_ID = "tr_" PREFIX_SPAN_ID = "sp" PREFIX_PSPAN_ID = "psp_" HEADER_REQUEST_ID = "X-Request-ID" HEADER_TRACE_ID = "X-Trace-ID" HEADER_SPAN_ID = "X-Span-ID" HEADER_PSPAN_ID = "X-Pspan-ID" FIELD_ID = "ID" PHASE = "phase" PARAMS = "params" QUERY = "query" USER_SYSTEM = "system" USER_ROOT = "root" TAG_JSON = "json" TAG_SCHEMA = "schema" TAG_QUERY = "query" )
const ( ROOT = "root" ADMIN = "admin" )
const ( AUTHZ_USER_ROOT = "root" AUTHZ_USER_ADMIN = "admin" AUTHZ_USER_BLOCKED = "blocked" AUTHZ_ROLE_ADMIN = "admin" AUTHZ_ROLE_BLOCKED = "blocked" )
const FrameworkName = "gst"
const IMPORT_PATH_MODEL = `"github.com/forbearing/gst/model"`
const LayoutTimeEncoder = "2006-01-02|15:04:05"
Variables ¶
This section is empty.
Functions ¶
func CodeGeneratedComment ¶
func CodeGeneratedComment() string
Types ¶
type HTTPVerb ¶
type HTTPVerb string
HTTPVerb represents the supported HTTP operations for a resource
const ( // Basic operations Create HTTPVerb = create // POST /resource Delete HTTPVerb = delete_ // DELETE /resource, DELETE /resource/:id Update HTTPVerb = update // PUT /resource, PUT /resource/:id Patch HTTPVerb = patch // PATCH /resource, PATCH /resource/:id List HTTPVerb = list // GET /resource Get HTTPVerb = get // GET /resource/:id CreateMany HTTPVerb = create_many // POST /resource/batch DeleteMany HTTPVerb = delete_many // DELETE /resource/batch UpdateMany HTTPVerb = update_many // PUT /resource/batch PatchMany HTTPVerb = patch_many // PATCH /resource/batch Export HTTPVerb = export // GET /resource/export Import HTTPVerb = import_ // POST /resource/import )
type IndexHintMode ¶ added in v0.9.6
type IndexHintMode string
IndexHintMode represents database index hint modes
const ( // IndexHintUse suggests the database to use the specified index IndexHintUse IndexHintMode = "USE" // IndexHintForce forces the database to use the specified index IndexHintForce IndexHintMode = "FORCE" // IndexHintIgnore tells the database to ignore the specified index IndexHintIgnore IndexHintMode = "IGNORE" )
type LockMode ¶ added in v0.9.6
type LockMode string
LockMode represents the lock mode for database row-level locking
const ( // LockUpdate represents FOR UPDATE lock mode LockUpdate LockMode = "UPDATE" LockShare LockMode = "SHARE" // LockUpdateNoWait represents FOR UPDATE NOWAIT lock mode LockUpdateNoWait LockMode = "UPDATE_NOWAIT" LockShareNoWait LockMode = "SHARE_NOWAIT" // LockUpdateSkipLocked represents FOR UPDATE SKIP LOCKED lock mode LockUpdateSkipLocked LockMode = "UPDATE_SKIP_LOCKED" LockShareSkipLocked LockMode = "SHARE_SKIP_LOCKED" )
type OP ¶ added in v0.9.2
type OP string
const ( OP_CREATE OP = create OP_DELETE OP = delete_ OP_UPDATE OP = update OP_PATCH OP = patch OP_LIST OP = list OP_GET OP = get OP_EXPORT OP = export OP_IMPORT OP = import_ OP_CREATE_MANY OP = create_many OP_DELETE_MANY OP = delete_many OP_UPDATE_MANY OP = update_many OP_PATCH_MANY OP = patch_many )
type Phase ¶
type Phase string
const ( PHASE_CREATE Phase = create PHASE_DELETE Phase = delete_ PHASE_UPDATE Phase = update PHASE_PATCH Phase = patch PHASE_LIST Phase = list PHASE_GET Phase = get PHASE_CREATE_MANY Phase = create_many PHASE_DELETE_MANY Phase = delete_many PHASE_UPDATE_MANY Phase = update_many PHASE_PATCH_MANY Phase = patch_many PHASE_CREATE_BEFORE Phase = create_before PHASE_CREATE_AFTER Phase = create_after PHASE_DELETE_BEFORE Phase = delete_before PHASE_DELETE_AFTER Phase = delete_after PHASE_UPDATE_BEFORE Phase = update_before PHASE_UPDATE_AFTER Phase = update_after PHASE_PATCH_BEFORE Phase = patch_before PHASE_PATCH_AFTER Phase = patch_after PHASE_LIST_BEFORE Phase = list_before PHASE_LIST_AFTER Phase = list_after PHASE_GET_BEFORE Phase = get_before PHASE_GET_AFTER Phase = get_after PHASE_CREATE_MANY_BEFORE Phase = create_many_before PHASE_CREATE_MANY_AFTER Phase = create_many_after PHASE_DELETE_MANY_BEFORE Phase = delete_many_before PHASE_DELETE_MANY_AFTER Phase = delete_many_after PHASE_UPDATE_MANY_BEFORE Phase = update_many_before PHASE_UPDATE_MANY_AFTER Phase = update_many_after PHASE_PATCH_MANY_BEFORE Phase = patch_many_before PHASE_PATCH_MANY_AFTER Phase = patch_many_after PHASE_IMPORT Phase = import_ PHASE_EXPORT Phase = export PHASE_FILTER Phase = filter PHASE_FILTER_RAW Phase = filter_raw )
func (Phase) After ¶
After returns the corresponding "_after" Phase for CRUD or ManyCRUD operations. If the current Phase already contains "_before" or "_after", or is not CRUD/MANYCRUD, it returns itself without modification.
func (Phase) Before ¶
Before returns the corresponding "_before" Phase for CRUD or ManyCRUD operations. If the current Phase already contains "_before" or "_after", or is not CRUD/MANYCRUD, it returns itself without modification.
func (Phase) Filename ¶
Filename returns the Phase generated filename converted to lower case format. Example:
PHASE_CREATE -> "create.go" PHASE_CREATE_BEFORE -> "create.go" PHASE_UPDATE_MANY -> "update_many.go"
func (Phase) MethodName ¶
MethodName returns the Phase string converted to UpperCamelCase format. Example:
PHASE_CREATE -> "Create" PHASE_CREATE_BEFORE -> "CreateBefore" PHASE_UPDATE_MANY -> "UpdateMany"
func (Phase) RoleName ¶
RoleName returns the associated role name for the Phase in human-readable form. It maps CRUD and ManyCRUD phases (including "_before" and "_after") to specific role names. Non-CRUD phases return an empty string.
Examples:
PHASE_CREATE -> "Creator" PHASE_CREATE_BEFORE -> "Creator" PHASE_UPDATE_MANY -> "ManyUpdater" PHASE_UPDATE_MANY_AFTER -> "ManyUpdater" PHASE_FILTER
func (Phase) ToHTTPVerb ¶
ToHTTPVerb maps the Phase to the corresponding HTTPVerb. Non-CRUD or unsupported phases return an empty string HTTPVerb.
Examples:
PHASE_CREATE -> Create PHASE_CREATE_BEFORE -> Create PHASE_CREATE_MANY_AFTER -> CreateMany PHASE_FILTER -> ""