So far so good
This commit is contained in:
88
examples/gorm/sql_core_masterprocess.go
Executable file
88
examples/gorm/sql_core_masterprocess.go
Executable file
@@ -0,0 +1,88 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
db "github.com/bitechdev/GoCore/pkg/models"
|
||||
"github.com/bitechdev/GoCore/pkg/types"
|
||||
)
|
||||
|
||||
// ModelCoreMasterprocess - Generated Table for Schema core
|
||||
type ModelCoreMasterprocess struct {
|
||||
Description string `json:"description" gorm:"Column:description;type:citext;"`
|
||||
GUID types.NullableUUID `json:"guid" gorm:"Column:guid;type:uuid;default:newid();"`
|
||||
Inactive types.SInt16 `json:"inactive" gorm:"Column:inactive;type:smallint;"`
|
||||
Jsonvalue types.NullableJSONB `json:"jsonvalue" gorm:"Column:jsonvalue;type:jsonb;"`
|
||||
Ridjsonschema types.ZNullInt32 `json:"rid_jsonschema" gorm:"Column:rid_jsonschema;type:integer;"`
|
||||
Ridmasterprocess int32 `json:"rid_masterprocess" gorm:"Column:rid_masterprocess;type:integer;primaryKey;default:nextval('core.identity_masterprocess_rid_masterprocess'::regclass);"`
|
||||
Ridmastertypehubtype types.ZNullInt32 `json:"rid_mastertype_hubtype" gorm:"Column:rid_mastertype_hubtype;type:integer;"`
|
||||
Ridmastertypeprocesstype types.ZNullInt32 `json:"rid_mastertype_processtype" gorm:"Column:rid_mastertype_processtype;type:integer;"`
|
||||
Ridprogrammodule types.ZNullInt32 `json:"rid_programmodule" gorm:"Column:rid_programmodule;type:integer;"`
|
||||
Sequenceno types.ZNullInt32 `json:"sequenceno" gorm:"Column:sequenceno;type:integer;"`
|
||||
Singleprocess types.SInt16 `json:"singleprocess" gorm:"Column:singleprocess;type:smallint;"`
|
||||
Updatecnt int64 `json:"updatecnt" gorm:"Column:updatecnt;type:integer;default:0;"`
|
||||
//JSON *ModelCoreJsonschema `json:"JSON,omitempty" gorm:"references:rid_jsonschema;foreignKey:rid_jsonschema;"`
|
||||
MTT_RID_MASTERTYPE_HUBTYPE *ModelCoreMastertype `json:"MTT_RID_MASTERTYPE_HUBTYPE,omitempty" gorm:"references:rid_mastertype_hubtype;foreignKey:rid_mastertype;"`
|
||||
MTT_RID_MASTERTYPE_PROCESSTYPE *ModelCoreMastertype `json:"MTT_RID_MASTERTYPE_PROCESSTYPE,omitempty" gorm:"references:rid_mastertype_processtype;foreignKey:rid_mastertype;"`
|
||||
//PMO *ModelPublicProgrammodule `json:"PMO,omitempty" gorm:"references:rid_programmodule;foreignKey:rid_programmodule;"`
|
||||
|
||||
MTL []*ModelCoreMastertask `json:"MTL,omitempty" gorm:"references:rid_masterprocess;foreignKey:rid_masterprocess;opt_c"`
|
||||
PRO []*ModelCoreProcess `json:"PRO,omitempty" gorm:"references:rid_masterprocess;foreignKey:rid_masterprocess;opt_c"`
|
||||
db.DBAdhocBuffer `json:",omitempty"`
|
||||
db.DBGetIDInterface `json:",omitempty" gorm:"-"`
|
||||
types.SQLTypable `json:",omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMasterprocess) TableName() string {
|
||||
return "core.masterprocess"
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMasterprocess) TableNameOnly() string {
|
||||
return "masterprocess"
|
||||
}
|
||||
|
||||
// SchemaName - Returns the schema name for the object.
|
||||
func (m ModelCoreMasterprocess) SchemaName() string {
|
||||
return "core"
|
||||
}
|
||||
|
||||
// GetID - ID interface
|
||||
func (m ModelCoreMasterprocess) GetID() int64 {
|
||||
return int64(m.Ridmasterprocess)
|
||||
}
|
||||
|
||||
// GetIDStr - ID interface
|
||||
func (m ModelCoreMasterprocess) GetIDStr() string {
|
||||
return fmt.Sprintf("%d", m.Ridmasterprocess)
|
||||
}
|
||||
|
||||
// SetID - ID interface
|
||||
func (m ModelCoreMasterprocess) SetID(newid int64) {
|
||||
m.UpdateID(newid)
|
||||
}
|
||||
|
||||
func (m *ModelCoreMasterprocess) UpdateID(newid int64) {
|
||||
m.Ridmasterprocess = int32(newid)
|
||||
}
|
||||
|
||||
// GetIDName - ID interface
|
||||
func (m ModelCoreMasterprocess) GetIDName() string {
|
||||
return "rid_masterprocess"
|
||||
}
|
||||
|
||||
// GetPrefix - Returns a table prefix
|
||||
func (m ModelCoreMasterprocess) GetPrefix() string {
|
||||
return "MPR"
|
||||
}
|
||||
|
||||
// GetRowNumber - Returns the row number of the record
|
||||
func (m ModelCoreMasterprocess) GetRowNumber() int64 {
|
||||
return m.RowNumber
|
||||
}
|
||||
|
||||
// SetRowNumber - Set the row number of a record
|
||||
func (m *ModelCoreMasterprocess) SetRowNumber(num int64) {
|
||||
m.RowNumber = num
|
||||
}
|
||||
93
examples/gorm/sql_core_mastertask.go
Executable file
93
examples/gorm/sql_core_mastertask.go
Executable file
@@ -0,0 +1,93 @@
|
||||
package models
|
||||
|
||||
import "fmt"
|
||||
import db "github.com/bitechdev/GoCore/pkg/models"
|
||||
import "github.com/bitechdev/GoCore/pkg/types"
|
||||
|
||||
//ModelCoreMastertask - Generated Table for Schema core
|
||||
type ModelCoreMastertask struct {
|
||||
Allactionsmustcomplete types.SInt16 `json:"allactionsmustcomplete" gorm:"Column:allactionsmustcomplete;type:smallint;"`
|
||||
Condition string `json:"condition" gorm:"Column:condition;type:citext;"`
|
||||
Description string `json:"description" gorm:"Column:description;type:citext;"`
|
||||
Dueday types.SInt16 `json:"dueday" gorm:"Column:dueday;type:smallint;"`
|
||||
Dueoption string `json:"dueoption" gorm:"Column:dueoption;type:citext;"`
|
||||
Escalation types.ZNullInt32 `json:"escalation" gorm:"Column:escalation;type:integer;"`
|
||||
Escalationoption string `json:"escalationoption" gorm:"Column:escalationoption;type:citext;"`
|
||||
GUID types.NullableUUID `json:"guid" gorm:"Column:guid;type:uuid;default:newid();"`
|
||||
Inactive types.SInt16 `json:"inactive" gorm:"Column:inactive;type:smallint;"`
|
||||
Jsonvalue types.NullableJSONB `json:"jsonvalue" gorm:"Column:jsonvalue;type:jsonb;"`
|
||||
Mastertasknote string `json:"mastertasknote" gorm:"Column:mastertasknote;type:citext;"`
|
||||
Repeatinterval types.SInt16 `json:"repeatinterval" gorm:"Column:repeatinterval;type:smallint;"`
|
||||
Repeattype string `json:"repeattype" gorm:"Column:repeattype;type:citext;"`
|
||||
Ridjsonschema types.ZNullInt32 `json:"rid_jsonschema" gorm:"Column:rid_jsonschema;type:integer;"`
|
||||
Ridmasterprocess types.ZNullInt32 `json:"rid_masterprocess" gorm:"Column:rid_masterprocess;type:integer;"`
|
||||
Ridmastertask int32 `json:"rid_mastertask" gorm:"Column:rid_mastertask;type:integer;primaryKey;default:nextval('core.identity_mastertask_rid_mastertask'::regclass);"`
|
||||
Ridmastertypetasktype types.ZNullInt32 `json:"rid_mastertype_tasktype" gorm:"Column:rid_mastertype_tasktype;type:integer;"`
|
||||
Sequenceno types.ZNullInt32 `json:"sequenceno" gorm:"Column:sequenceno;type:integer;"`
|
||||
Singletask types.SInt16 `json:"singletask" gorm:"Column:singletask;type:smallint;"`
|
||||
Startday types.SInt16 `json:"startday" gorm:"Column:startday;type:smallint;"`
|
||||
Updatecnt int64 `json:"updatecnt" gorm:"Column:updatecnt;type:integer;default:0;"`
|
||||
JSON *ModelCoreJsonschema `json:"JSON,omitempty" gorm:"references:rid_jsonschema;foreignKey:rid_jsonschema;"`
|
||||
MPR *ModelCoreMasterprocess `json:"MPR,omitempty" gorm:"references:rid_masterprocess;foreignKey:rid_masterprocess;"`
|
||||
MTT *ModelCoreMastertype `json:"MTT,omitempty" gorm:"references:rid_mastertype_tasktype;foreignKey:rid_mastertype;"`
|
||||
|
||||
MAL []*ModelCoreMastertaskitem `json:"MAL,omitempty" gorm:"references:rid_mastertask;foreignKey:rid_mastertask;opt_c"`
|
||||
TAS []*ModelCoreTasklist `json:"TAS,omitempty" gorm:"references:rid_mastertask;foreignKey:rid_mastertask;opt_c"`
|
||||
db.DBAdhocBuffer `json:",omitempty"`
|
||||
db.DBGetIDInterface `json:",omitempty" gorm:"-"`
|
||||
types.SQLTypable `json:",omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMastertask) TableName() string {
|
||||
return "core.mastertask"
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMastertask) TableNameOnly() string {
|
||||
return "mastertask"
|
||||
}
|
||||
|
||||
// SchemaName - Returns the schema name for the object.
|
||||
func (m ModelCoreMastertask) SchemaName() string {
|
||||
return "core"
|
||||
}
|
||||
|
||||
// GetID - ID interface
|
||||
func (m ModelCoreMastertask) GetID() int64 {
|
||||
return int64(m.Ridmastertask)
|
||||
}
|
||||
|
||||
// GetIDStr - ID interface
|
||||
func (m ModelCoreMastertask) GetIDStr() string {
|
||||
return fmt.Sprintf("%d", m.Ridmastertask)
|
||||
}
|
||||
|
||||
// SetID - ID interface
|
||||
func (m ModelCoreMastertask) SetID(newid int64) {
|
||||
m.UpdateID(newid)
|
||||
}
|
||||
|
||||
func (m *ModelCoreMastertask) UpdateID(newid int64) {
|
||||
m.Ridmastertask = int32(newid)
|
||||
}
|
||||
|
||||
// GetIDName - ID interface
|
||||
func (m ModelCoreMastertask) GetIDName() string {
|
||||
return "rid_mastertask"
|
||||
}
|
||||
|
||||
// GetPrefix - Returns a table prefix
|
||||
func (m ModelCoreMastertask) GetPrefix() string {
|
||||
return "MTL"
|
||||
}
|
||||
|
||||
// GetRowNumber - Returns the row number of the record
|
||||
func (m ModelCoreMastertask) GetRowNumber() int64 {
|
||||
return m.RowNumber
|
||||
}
|
||||
|
||||
// SetRowNumber - Set the row number of a record
|
||||
func (m *ModelCoreMastertask) SetRowNumber(num int64) {
|
||||
m.RowNumber = num
|
||||
}
|
||||
98
examples/gorm/sql_core_mastertype.go
Executable file
98
examples/gorm/sql_core_mastertype.go
Executable file
@@ -0,0 +1,98 @@
|
||||
package models
|
||||
|
||||
import "fmt"
|
||||
import db "github.com/bitechdev/GoCore/pkg/models"
|
||||
import "github.com/bitechdev/GoCore/pkg/types"
|
||||
|
||||
//ModelCoreMastertype - Generated Table for Schema core
|
||||
type ModelCoreMastertype struct {
|
||||
Category string `json:"category" gorm:"Column:category;type:citext;"`
|
||||
Description string `json:"description" gorm:"Column:description;type:citext;"`
|
||||
Disableedit types.SInt16 `json:"disableedit" gorm:"Column:disableedit;type:smallint;"`
|
||||
Forprefix string `json:"forprefix" gorm:"Column:forprefix;type:citext;"`
|
||||
GUID types.NullableUUID `json:"guid" gorm:"Column:guid;type:uuid;default:newid();"`
|
||||
Hidden types.SInt16 `json:"hidden" gorm:"Column:hidden;type:smallint;"`
|
||||
Inactive types.SInt16 `json:"inactive" gorm:"Column:inactive;type:smallint;"`
|
||||
Jsonvalue types.NullableJSONB `json:"jsonvalue" gorm:"Column:jsonvalue;type:jsonb;"`
|
||||
Mastertype string `json:"mastertype" gorm:"Column:mastertype;type:citext;"`
|
||||
Note string `json:"note" gorm:"Column:note;type:citext;"`
|
||||
Ridmastertype int32 `json:"rid_mastertype" gorm:"Column:rid_mastertype;type:integer;primaryKey;default:nextval('core.identity_mastertype_rid_mastertype'::regclass);"`
|
||||
Ridparent types.ZNullInt32 `json:"rid_parent" gorm:"Column:rid_parent;type:integer;"`
|
||||
Updatecnt int64 `json:"updatecnt" gorm:"Column:updatecnt;type:integer;default:0;"`
|
||||
MTT *ModelCoreMastertype `json:"MTT,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_parent;"`
|
||||
|
||||
CMAT []*ModelCoreCommitem_Attachment `json:"CMAT,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype;opt_c"`
|
||||
DVT []*ModelCoreDocumentvault `json:"DVT,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype;opt_c"`
|
||||
EAD []*ModelCoreEmailaddresslist `json:"EAD,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype;opt_c"`
|
||||
JSON []*ModelCoreJsonschema `json:"JSON,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype;opt_c"`
|
||||
MAL []*ModelCoreMastertaskitem `json:"MAL,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_hubtype;opt_c"`
|
||||
MPR_RID_MASTERTYPE_HUBTYPE []*ModelCoreMasterprocess `json:"MPR_RID_MASTERTYPE_HUBTYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_hubtype;opt_c"`
|
||||
MPR_RID_MASTERTYPE_PROCESSTYPE []*ModelCoreMasterprocess `json:"MPR_RID_MASTERTYPE_PROCESSTYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_processtype;opt_c"`
|
||||
MSE []*ModelCoreMasterservice `json:"MSE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_hubtype;opt_c"`
|
||||
MTL []*ModelCoreMastertask `json:"MTL,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_tasktype;opt_c"`
|
||||
MTT_RID_PARENT []*ModelCoreMastertype `json:"MTT_RID_PARENT,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_parent;opt_c"`
|
||||
RUL []*ModelCoreMasterworkflowrule `json:"RUL,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_group;opt_c"`
|
||||
TAT_RID_MASTERTYPE_DOCGENTYPE []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_DOCGENTYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_docgentype;opt_c"`
|
||||
TAT_RID_MASTERTYPE_DOCUMENT []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_DOCUMENT,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_document;opt_c"`
|
||||
TAT_RID_MASTERTYPE_GROUP []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_GROUP,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_group;opt_c"`
|
||||
TAT_RID_MASTERTYPE_HUBTYPE []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_HUBTYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_hubtype;opt_c"`
|
||||
TAT_RID_MASTERTYPE_MERGETYPE []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_MERGETYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_mergetype;opt_c"`
|
||||
TAT_RID_MASTERTYPE_TARGETTYPE []*ModelCoreMasterdoctemplate `json:"TAT_RID_MASTERTYPE_TARGETTYPE,omitempty" gorm:"references:rid_mastertype;foreignKey:rid_mastertype_targettype;opt_c"`
|
||||
db.DBAdhocBuffer `json:",omitempty"`
|
||||
db.DBGetIDInterface `json:",omitempty" gorm:"-"`
|
||||
types.SQLTypable `json:",omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMastertype) TableName() string {
|
||||
return "core.mastertype"
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreMastertype) TableNameOnly() string {
|
||||
return "mastertype"
|
||||
}
|
||||
|
||||
// SchemaName - Returns the schema name for the object.
|
||||
func (m ModelCoreMastertype) SchemaName() string {
|
||||
return "core"
|
||||
}
|
||||
|
||||
// GetID - ID interface
|
||||
func (m ModelCoreMastertype) GetID() int64 {
|
||||
return int64(m.Ridmastertype)
|
||||
}
|
||||
|
||||
// GetIDStr - ID interface
|
||||
func (m ModelCoreMastertype) GetIDStr() string {
|
||||
return fmt.Sprintf("%d", m.Ridmastertype)
|
||||
}
|
||||
|
||||
// SetID - ID interface
|
||||
func (m ModelCoreMastertype) SetID(newid int64) {
|
||||
m.UpdateID(newid)
|
||||
}
|
||||
|
||||
func (m *ModelCoreMastertype) UpdateID(newid int64) {
|
||||
m.Ridmastertype = int32(newid)
|
||||
}
|
||||
|
||||
// GetIDName - ID interface
|
||||
func (m ModelCoreMastertype) GetIDName() string {
|
||||
return "rid_mastertype"
|
||||
}
|
||||
|
||||
// GetPrefix - Returns a table prefix
|
||||
func (m ModelCoreMastertype) GetPrefix() string {
|
||||
return "MTT"
|
||||
}
|
||||
|
||||
// GetRowNumber - Returns the row number of the record
|
||||
func (m ModelCoreMastertype) GetRowNumber() int64 {
|
||||
return m.RowNumber
|
||||
}
|
||||
|
||||
// SetRowNumber - Set the row number of a record
|
||||
func (m *ModelCoreMastertype) SetRowNumber(num int64) {
|
||||
m.RowNumber = num
|
||||
}
|
||||
80
examples/gorm/sql_core_process.go
Executable file
80
examples/gorm/sql_core_process.go
Executable file
@@ -0,0 +1,80 @@
|
||||
package models
|
||||
|
||||
import "fmt"
|
||||
import db "github.com/bitechdev/GoCore/pkg/models"
|
||||
import "github.com/bitechdev/GoCore/pkg/types"
|
||||
|
||||
//ModelCoreProcess - Generated Table for Schema core
|
||||
type ModelCoreProcess struct {
|
||||
Completedate types.CustomDate `json:"completedate" gorm:"Column:completedate;type:date;"`
|
||||
Completetime types.CustomIntTime `json:"completetime" gorm:"Column:completetime;type:integer;"`
|
||||
Description string `json:"description" gorm:"Column:description;type:citext;"`
|
||||
GUID types.NullableUUID `json:"guid" gorm:"Column:guid;type:uuid;default:newid();"`
|
||||
Ridcompleteuser types.ZNullInt32 `json:"rid_completeuser" gorm:"Column:rid_completeuser;type:integer;"`
|
||||
Ridhub types.ZNullInt32 `json:"rid_hub" gorm:"Column:rid_hub;type:integer;"`
|
||||
Ridmasterprocess types.ZNullInt32 `json:"rid_masterprocess" gorm:"Column:rid_masterprocess;type:integer;"`
|
||||
Ridprocess int32 `json:"rid_process" gorm:"Column:rid_process;type:integer;primaryKey;default:nextval('core.identity_process_rid_process'::regclass);"`
|
||||
Status string `json:"status" gorm:"Column:status;type:citext;"`
|
||||
Updatecnt int64 `json:"updatecnt" gorm:"Column:updatecnt;type:integer;default:0;"`
|
||||
HUB *ModelCoreHub `json:"HUB,omitempty" gorm:"references:rid_hub;foreignKey:rid_hub;"`
|
||||
MPR *ModelCoreMasterprocess `json:"MPR,omitempty" gorm:"references:rid_masterprocess;foreignKey:rid_masterprocess;"`
|
||||
|
||||
TAS []*ModelCoreTasklist `json:"TAS,omitempty" gorm:"references:rid_process;foreignKey:rid_process;opt_c"`
|
||||
db.DBAdhocBuffer `json:",omitempty"`
|
||||
db.DBGetIDInterface `json:",omitempty" gorm:"-"`
|
||||
types.SQLTypable `json:",omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreProcess) TableName() string {
|
||||
return "core.process"
|
||||
}
|
||||
|
||||
// TableName - Returns the table name for the object.
|
||||
func (m ModelCoreProcess) TableNameOnly() string {
|
||||
return "process"
|
||||
}
|
||||
|
||||
// SchemaName - Returns the schema name for the object.
|
||||
func (m ModelCoreProcess) SchemaName() string {
|
||||
return "core"
|
||||
}
|
||||
|
||||
// GetID - ID interface
|
||||
func (m ModelCoreProcess) GetID() int64 {
|
||||
return int64(m.Ridprocess)
|
||||
}
|
||||
|
||||
// GetIDStr - ID interface
|
||||
func (m ModelCoreProcess) GetIDStr() string {
|
||||
return fmt.Sprintf("%d", m.Ridprocess)
|
||||
}
|
||||
|
||||
// SetID - ID interface
|
||||
func (m ModelCoreProcess) SetID(newid int64) {
|
||||
m.UpdateID(newid)
|
||||
}
|
||||
|
||||
func (m *ModelCoreProcess) UpdateID(newid int64) {
|
||||
m.Ridprocess = int32(newid)
|
||||
}
|
||||
|
||||
// GetIDName - ID interface
|
||||
func (m ModelCoreProcess) GetIDName() string {
|
||||
return "rid_process"
|
||||
}
|
||||
|
||||
// GetPrefix - Returns a table prefix
|
||||
func (m ModelCoreProcess) GetPrefix() string {
|
||||
return "PRO"
|
||||
}
|
||||
|
||||
// GetRowNumber - Returns the row number of the record
|
||||
func (m ModelCoreProcess) GetRowNumber() int64 {
|
||||
return m.RowNumber
|
||||
}
|
||||
|
||||
// SetRowNumber - Set the row number of a record
|
||||
func (m *ModelCoreProcess) SetRowNumber(num int64) {
|
||||
m.RowNumber = num
|
||||
}
|
||||
Reference in New Issue
Block a user