This is OGAN.AI command list to manage database, tables, fields, views, authorization of fields, user roles, web API and admin panel development codes.
Understand human is in which step and inform human about other next steps by order, step by step.
There are the OGAN.AI commands:
'stepbystep' => '* First step, Each project default database is microsoft sql server and development language code is Asp.net mvc,csharp and .net core 6 framework.
* Second step, When project payment done, code generation service of OGAN.AI does not work automatically. Because you can change database type, code development language type. /databasetypechange, /developmentlanguagechange, /developmentframeworkchange
* Third step, you can manage database at remote server and can change connection string. /serversettings
You can use database of new project as a backup database if you asssign a remote database server connection string. You can also use database of project as a reporting database. Wiih this, all other data and table will be cloned on the reporting project database. For that, you must create firstly reporting project at the beginning. Otherwise, encrypted data does not match on reporting database. Check details: /projecttype
* Forth step, you can host published codes at remote server and share an ftp connection data. /ftpupdate
* Fifth step, every project starts a default database schema. This also contains default user roles and default authorization assignments. So that, your Schema is most important file. If you need to have a huge system, changing manually make your process faster. You can download default schema and can customise it and can upload it. /schema. You can customise schema, this information is defined in schema rules command. You can turn back to previous schema any time. /schemarules
* Sixth step, if you are sure about the schema, you can start to create code. /createcode If you change the schema, you must recreate code again. /recreatecode
* Seventh step, after create or recreate code, you can reach web panel url with /webpanel and default user role users account list with /listdefaultroleusers
* Eighth step, if you want to change code with adding new function with /addcustomcode, you must rebuild code with /rebuildcode, if you want to protect the code file while re create code. You can use /protectcodefile
* Nineth step, to check if there is a problem in code, if web panel or web API does not work, does not open, does not response, if you can not reach web panel or Web API, you can learn, debug and fix problem it by checking notifications of project or by listing debug logs. /debuglogs
* Tenth step, if you need web API connection token to share with a developer, this command helps: /getapitoken
-> You can always recreate default database with default schema again with /recreatedefaultdb and delete database and codes to start from beginning again with /deletecodeanddb
-> You can always download code, database scripts, backup database, chat agent database scripts, custom codes, wwwroot folder (that can contain live system image folders) if membership type lets to do it. /sourcecodesandscripts
-> You can always add or delete user roles, users without updating your schema file. Because it changes automatically. /rolesandusers
-> You can always add or delete data tables, views, data fields, edit authorization of fields, tables and views, page titles, field titles. You can manage authorization field based, table(webapi) based, page based. /fieldsandauths
-> You can always change word contents of admin panel role based. /edittitles
-> You can always list and edit language support with /listlanguages and /setlanguage',
'schemarules' => 'Schema usage information is at below:
1. SERVICE_NAME, TABLE_NAME, COLUMN_NAME
Operational tables are on user_service
Table naming format: tbl_tablename
Fieldnaming format: tablename_xxddd
Fieldnames must be unique in database.
When you create a new table, these fields are created default. You dont need to add these fields:
tablename_id (bigint - default: newid()),
tablename_secret_key (uniqueidentifier - default: newid()),
tablename_created_by_user_id (bigint - default: logined user id automatically),
tablename_created_by_user_role (string - default: logined user role value automatically),
tablename_created_by_dealer_id (bigint - default: logined dealer id value automatically),
tablename_updated_by_user_id (bigint - default: last logined user id automatically),
tablename_create_datetime (datetime - default: SYSUTCDATETIME),
tablename_update_datetime (datetime - default: SYSUTCDATETIME),
tablename_is active (boolean - default: 1),
tablename_is_deleted (boolean - default: 0),
tablename_status (int - default: null)
If a fieldname ends with _status or _type, automatically reference value list is created as an empty in json format.
2. DATA_TYPE
Data types are the same with mssql data types. You can set column length for nvarchar data type with CHARACTER_maxIMUM_LENGTH column in schema.
3. Encryption a field:
Column start with encyrpted-xxxx in schema defines data field if will encrypted (1) or not (empty). Values in column name are encryption parameters for AES-256. It is unique for each project. Critical columns (name, surname, phone, email) are set in default.
4. datalimit
Validation rules for admin panel forms:
example for text input:
2-50 : min 2, max 50 characters.
8- : min 8 characters
-20 : max 20 characters.
saving multi selected data for multiselectbox: (Example: ,1,2,3, ,xxx,yyy,zzz, It supplies query search like ,xxx,)
for upload:
single-wwwroot/foldername-,jpg,png,jpeg, : uploads 1 file to selected folder name with selected file formats.
multiple-wwwroot/foldername-,jpg,png,jpeg, : uploads multi files to selected folder name with selected file formats. For public folder, use wwwroot, for private write only a foldername.
for selectbox or multiselectbox:
reference-tablename-table_option_value(tablename_id),table_option_text1,table_option_text2 (tablename_name + tablename_surname): This shows the reference text instead of the reference id.
foreignkey-tablename-table_option_value(tablename_id),table_option_text1,table_option_text2 (tablename_name + tablename_surname): This usage only for save the information.
5. datainputtype
html element types for panel form pages:
default: input (no need to write in schema format)
selectbox
multiselectbox
checkbox
radiobutton
password
upload
textarea
texteditor
tagsinput
6. moduletype
tables and fields must be ordered consecutively if they are in the same module naming. This module naming separates tables on left drop down menu.
7. wordcontent-tr-en
These wordcontent supplies to use multi language on admin panel.
format: wordcontent-lang1-langlang3-lang4
When you define multi language in header, you have to define content in this column and fieldtitle columns like that:
lang1 content|lang2 content|lang3 content
split content with pipe deliminator for multi language.
You can list supported languages and set your default language. Look at these commands: /listlanguages, /setlanguage
If you set title names on this column, it effects naming for all roles as same. To customise title naming for each role, you have extra columns(fieldtitle) for each role for title customization.
If you add extra new fields on your schema, you have to define your multi language title in this column or fieldtitle columns. Ready to use multi language title naming is only for default schema.
All multi language content can be managed on tbl_word_content table any time.
If a fieldname ends with _status or _type, automatically reference value list is created as an empty in json format.
json format example: {"v":"no info","v1":"Woman", "v2":"Man"} -> numerical _type or _status field.
{"v":"no info","vwoman":"Woman", "vman":"Man"} -> text based _type or _status field.
For multi language, define like this:
{"v":"no info","v1":"Woman", "v2":"Man"} |{"v":"no info","v1":"Woman", "v2":"Man"}
You can customise these status values at role based tbl_word_content data rows.
8. Creating view:
To create a view, you have you use the same values on SERVICE_NAME, TABLE_NAME, COLUMN_NAME for tables.
viewname column must contain unique same name for related fields.
View naming format: view_xxx_yyy. It must be start with view_
viewjointype column is for join type with other tables. INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN are the alternative selections.
viewmatchtable and viewmatchfield columns is used to define joining primary keys for selected field. Selected field on schema row will behave like foreign key.
9. indexed
You can define Index for a field on database by setting 1 on this column.
10. Default roles:
masterdefault, interfacedefault roles are set for next plans.
developeruser role is ready to share with your any developer. They have usually crudu user defined data read authorization. You can change auth values any time according to the your needs.
superadminuser, adminuser, dealeruser, companyuser, agencyuser, integrationuser, enduser, contentuser, visitoruser are default roles pre defined.
11. Role definition:
Each role is defined like this format:
user-userrolename-roleusername-roleuserpassword-rolelogintype
Role login type means how to user of role will login.
rolelogintype: admin -> admin submission needed, user -> user submit code sending by email or sms , direct -> user is active directly.
New role must be added with 5 columns.
First one defines role name, username, password and login type written at above. This column contains crud values for table/web service authorization.
Second one (pageauth) defines crud values for admin panel forms and pages.
Third one. discard wordcontentrole for now. make empty. defines wordcontent values of the role.
Forth one (required) defines if it is required field on forms for role. Set 1 or make empty.
Fifth one (fieldtitle) defines wordcontent for title of field role based. for multi language, split content with pipe deliminator for multi language like lang1 content|lang2 content|lang3 content
12. CRUD Usage
Authorization rules for table and page are saved in user_authorization table.
Role based CRUD Authorization values ara saved for table and page separately.
Field order in user_authorization table defines the order of form elements.
Authorization of fields and tables:
crudx
c: create,insert
r: read, select
u: update
d: delete
h: hidden
_: no authorization
x alternatives:
a: It manages all records.
t: It reads all data, it updates only of created by itself.
u: it reads only of created by itself.
r: it reads only of created by the same role.
d: it reads only of created by the same dealer.
example for table:
cruda : It creates, reaches, changes and deletes all content.
_r__u : It reads only records created by itself. No create new record, no update, no delete.
Authorization for page:
2 different method: cruda or c_r_u_d_p_d_f_
cruda type is same with table.
other usage: c_r_u_d_p_d_f_
h: hidden (placed at frontend html code but hidden)
v: visible but readonly mode
_: not visible
c: Field seems in insert form page.
r: Field seems in select page.
u: Field seems in update form page.
d: Delete button is activated.
p: Passive button is activated.
d: Field seems in detail page.
f: Field seems in filter section.
13. Extra information:
Table and Page general authorization definition:
Authorization values of first fields (like tablename_id) of tables define general crud approach of table or page.
for example, cr_da value for a user_blockSelectView page means insert page is active, select page active, delete button active but update form is not authorized.
It is saved at user_authorization_operation_value field value in tbl_user_authorization.
Related connection main field to reach the content:
as a default, tablename_created_by_user_id fields connect the user and records. But you can change the connection main field by defining useru (usera, userd etc.) on authorization value of selected field for page (pageauth columns) and table together.
This information effects first parameter of user_authorization_type_list value on tbl_user_authorization for selected role. You can define more connection field with this parameter. You change first parameter manually like created_by_user_id|assigned_user_id means webservice checks two parameter together, if matches any of one, data response back. If you use parameter like created_by_user_id&assigned_user_id, then two value must be the same to response back the related data row.
Critical Tables:
You can not create or delete some critical tables and fields.
(tables: tbl_user, tbl_user_role, tbl_dealers, tbl_languages, tbl_languages, tbl_word_content, tbl_user_authorization, tbl_user_devices, tbl_user_tables, tbl_user_pages, tbl_user_debug_logs, tbl_user_operation_logs, tbl_storage, tbl_storage_logs)
(fields: tablename_id, tablename_secretkey, tablename_create_datetime, tablename_created_by_user_role, tablename_created_by_dealer_id, tablename_created_by_user_id, tablename_update_datetime, tablename_updated_by_user_id, tablename_is_active, tablename_is_deleted, tablename_status)
Schema file must be saved in UFT8 format.',
'webapirules' => 'You can download OGAN.AI Web Api usage documentation: download',// or check online documentation: /doc
'schema' => 'Download your default schema with this link: Download
If you have updated, download your existing schema with this link:Download
Upload your custom schema with this link: Upload
If you want to change schema manually, check the schema rules: /schemarules',
'setcustomdomain' => 'Enter your custom domain information. If you set a custom domain, please set DNS A Record To ip address of /webpanel. To delete your custom domain, select: setdefaultdomain',
'serversettings' => 'Connection string is necessary to connect your database. If you have your own mssql database server. You can use it for all Create Read Update Delete operations. Just be sure about that, database user that you share, has owner roles.
You can also manage other settings for your project.
After click, this command includes more information about these sub commands: /constringread, /constringupdate, /constringdelete, /ftpread, /ftpupdate, /ftpdelete, /githubsettings, /githubsettingsupdate, /restartserver',
'serversettings' => 'Connection string is necessary to connect your database. If you have your own mssql database server. You can use it for all Create Read Update Delete operations. Just be sure about that, database user that you share, has owner roles.
You can also manage other settings for your project.
To learn your connection string, write /constringread
Do you want to update connection string? If you will, write /constringupdate
Do you want to delete your custom connection string? If you will change, write /constringdelete
To get your ftp connection information, write /ftpread
To update your ftp connection information, write /ftpupdate
To delete your ftp connection information, write /ftpdelete
To get your github settings information, write /githubsettings
To setup github account details to push code to your github, write /githubsettingsupdate
To restart server, write /restartserver',
'constringupdate' => 'After you update your connection string, You have to run /recreatedefaultdb to create your database. Your all database data will be deleted.
If your database is custom, outer connection string, you have drop and create your database manually by yourself again.
Write your new connection string.
Format: Server=IPADDRESS_OR_DOMAIN;Database=DB_NAME;User Id=DB_USER;Password=USER_PASSWORD;
To cancel request, write: cancel',
'constringread' => 'Get your custom connection string',
'constringdelete' => 'After you delete your custom connection string, You have to run /recreatedefaultdb to create your database. Your all database data will be deleted.
If your database is custom, outer connection string, you have drop and create your database manually by yourself again.
If you are sure, write: ok, to cancel request, write: cancel',
'ftpread' => 'Get your ftp connection information',
'ftpupdate' => 'After you update your ftp connection, You may need to run /ftpcodepush to send code files to ftp folder.
Write your ftp connection data.
Format Examples:
ftp://ftp-user:ftp-password@ftp.yourdomain.com:21
ftp://ftp-user:ftp-password@ftp.azurewebsites.windows.net/site/wwwroot (define a target folder like in example)
ftp://.blob.core.windows.net/?
To cancel request, write: cancel',
'ftpdelete' => 'If you are sure, write: ok, to cancel request, write: cancel',
'createcode' => 'Your code and database will be created and published according to the last reference /schema. If it exists, nothing will be changed.
If you are sure, write: ok',
'recreatecode' => 'Your code will be created and published again according to the last reference /schema. Last project folder and publish folder will be deleted. But database and custom functions will be saved.
If you are sure, write: ok, to cancel request, write: cancel',
'rebuildcode' => 'Your code will be builded and published again. Use this function to build your code, after changing source code on .Net Core Project. Only publish folder will be updated.
If you are sure, write: ok, to cancel request, write: cancel',
'recreatedefaultdb' => 'Your database will be created again according to the default schema. Use this function to create your database, after changing connection string.
If you are sure, write: ok, to cancel request, write: cancel',
'deletecodeanddb' => 'Your source code, hosting and database will be deleted. Use this function to create your source code and database, after changing your default schema or need to start from the beginning. Your last existing customised schema file will be saved but you can download, check, update and upload it again: Download and upload again.
If you are sure to delete, write: ok, to cancel request, write: cancel',
'sourcecode' => 'If your membership credentials supply to download your own source code, your source code will be zipped and will give you as a download link.
If you are sure, write: ok, to cancel request, write: cancel',
'publishedcode' => 'You can host your code on your localhost or on any server. Your published code will be zipped (including wwwroot) and will give you as a download link.
If you are sure, write: ok, to cancel request, write: cancel',
'publishlogs' => 'After create, recreate or build your code, it is automatically published. You can get publish logs link.
If you are sure, write: ok, to cancel request, write: cancel',
'wwwroot' => 'Your wwwroot folder (containing images, videos, files uploaded) will be zipped and will give you as a download link.
If you are sure, write: ok, to cancel request, write: cancel',
'defaultdbscripts' => 'Your default database scripts will be zipped and will be prepared as a downloadable url.
If you are sure, write: ok, to cancel request, write: cancel',
'backupdatabase' => 'Your live database backup file will be prepared as a downloadable url.
If you are sure, write: ok, to cancel request, write: cancel',
'restoredatabase' => 'Your database backup file will be restored from last backup file.
If you are sure, write: ok, to cancel request, write: cancel',
'chatagentdbscripts' => 'Your chat agent requests that change database and sql commands will be zipped and will be prepared as a downloadable url.
If you are sure, write: ok, to cancel request, write: cancel',
'customcodes' => 'Your custom code scripts which is written on chat agent will be zipped and will be prepared as a downloadable url.
If you are sure, write: ok, to cancel request, write: cancel',
'addpackage' => 'New package will be added to your project. For .Net project, it is a nuget package. Enter your package name you want to add. You can enter version number of your package. And also, you must select you will add for which project, ClassLibrary or WebApp (Default). Format: PACKAGENAME SELECTEDPROJECT(C -> for ClassLibrary, W -> for WebApp project.) VERSIONNUMBER(D -> for default last version, otherwise, enter version number like 1.9.3)',
'removepackage' => 'Selected package will be removed from your project. Enter your package name you want to remove. And also, you must select you will add for which project, ClassLibrary or WebApp (Default). Format: PACKAGENAME SELECTEDPROJECT(C -> for ClassLibrary, W -> for WebApp project.)',
'addcustomcode' => 'You can add custom csharp code as a FUNCTION that will be placed in WebApp Controller.',
'runsql' => 'You can execute any sql command for CRUD operation (Select, Update, Delete, Insert) or CREATE/ALTER STORED PROCEDURE, FUNCTION etc.',
'ftpcodepush' => 'Your published code will be sent to your custom ftp connection.
If you are sure, write: ok, to cancel request, write: cancel',
'githubpush' => 'Your code will be sent to your github.
If you are sure, write an explanation for commit details, to cancel request, write: cancel',
'githubrestore' => 'Your code will be restored from selected older github commit.
If you are sure, enter specific commit alphanumeric key, to cancel request, write: cancel',
'githubsettings' => 'Get your github settings information',
'githubsettingsupdate' => 'You can setup github account details to push code to your github.
Format: ORIGINURL USERNAME ACCESSTOKEN BRANCHNAME (or write NaN to delete all parameters and .git folder). To cancel request, write: cancel',
'restartserver' => 'Your server will be restarted. After restart server, your server IP address may be changed.
If you are sure, write: ok, to cancel request, write: cancel',
'protectcodefile' => 'Enter your file name to protect while re-creating code, to cancel request, write: cancel',
'databasetype' => 'Get your database type information',
'databasetypechange' => 'After you update your database type, You may need to re-create code again /recreatecode
Write your database type information. To cancel request, write: cancel',
'developmentlanguage' => 'Get your development Language information',
'developmentlanguagechange' => 'After you update your development Language, You may need to re-create code again /recreatecode
Write your development language information. To cancel request, write: cancel',
'developmentframework' => 'Get your development framework information',
'developmentframeworkchange' => 'Your framework options: net6.0 or net7.0 or net8.0 or net9.0 . Write one of them exactly. After you update your development framework, You may need to re-create code again /recreatecode
Write your development framework information. To cancel request, write: cancel',
'projecttype' => 'Get your project type information. Project type alternatives: defaultdb, backupdb, reportdb, reportto yourotherprojectname, logindb, loginto yourotherprojectname. You must create firstly reporting or login project at the beginning. Otherwise, encrypted data does not match on reporting or login database. You must assign loginto and reportto together at the same request. Example: projecttypechange reportto project1 loginto project2. Logindb needs a reportdb. example: projecttypechange logindb yourreportdbprojectname. Backupto needs a master project and it can be useful to backup databases when projects have external connection string. ',
'projecttypechange' => 'You can update project type. Please write one of project type alternatives: defaultdb, backupdb, backupto yourotherprojectname, reportdb, reportto yourotherprojectname, logindb, loginto yourotherprojectname.
defaultdb is for default usage only one database. backupdb is to use ogan.ai database as a backup. But you must define a external custom connectionstring at first.
backupto is to use backup databases when projects have external connection string. It needs a master project.
reportdb is to use ogan.ai project database as a reporting database. It includes all tables in other projects.
reportto yourotherprojectname usage is to assign this project to a report database project. You must create firstly reporting project at the beginning. Otherwise, encrypted data does not match on reporting database. You must assign loginto and reportto together at the same request. Example: projecttypechange reportto project1 loginto project2.
Logindb needs a reportdb. example: projecttypechange loginto yourreportdbprojectname.
logindb defines your project as a login database. To cancel request, write: cancel',
'aimodel' => 'Get your AI model information. Project type alternatives: chat or reasoner',
'aimodelchange' => 'You can update AI model. Please write one of AI model alternatives: chat or reasoner.
chat AI mode has fast response, low latency. May hallucinate or provide less fact-checked, reasoned answers. Not specialized in step-by-step logic or complex reasoning.
reasoner AI mode has very slow response, high latency. Advanced reasoning, multi-step logic, coding tasks, database QA tasks and complex task solving.
To cancel request, write: cancel',
'projectdefinition' => 'Get your project definition information. OGAN.AI try to understand your needs and suggest best database type, framework, development language, table, front-end needs.',
'projectdefinitionchange' => 'You can update project definition. To cancel request, write: cancel',
'downloadprotectedcodefilelist' => 'Your protected code file list will be zipped and will be prepared as a downloadable url.
If you are sure, write: ok, to cancel request, write: cancel',
'emailsettings' => 'Change your new email settings that will use for register, change password etc. if you have a sendgrid api key, write it',
'emailsettings' => 'Write your new email settings.
Format: email=info@ogan.ai;emailname=info;emailpassword=pass;emailsmtpdomain=mail.ogan.ai;emailsmtpport=25;
or if you have a sendgrid api key, write sendgridapikey=123456
To cancel request, write: cancel',
'createbuildcode' => 'Your code and database create, recreate, rebuid, publish operations manage with these sub commands. For more detail, click this command. Containing commands: /createcode, /recreatecode, /rebuildcode, /recreatedefaultdb, /deletecodeanddb, /publishlogs',
'createbuildcode' => 'Your code and database create, recreate, rebuid, publish operations manage with these sub commands. Containing commands and details at below:
/createcode Your code and database will be created and published according to the last reference /schema. If it exists, nothing will be changed.
/recreatecode Your code will be created and published again according to the last reference /schema. Last project folder and publish folder will be deleted. But database and custom functions will be saved.
/rebuildcode Your code will be builded and published again. Use this function to build your code, after changing source code on .Net Core Project. Only publish folder will be updated.
/recreatedefaultdb Your database will be created again according to the default schema. Use this function to create your database, after changing connection string.
/deletecodeanddb Your source code, hosting and database will be deleted. Use this function to create your source code and database, after changing your default schema or need to start from the beginning.
/publishlogs After create, recreate or build your code, it is automatically published. You can download publish logs.',
'sourcecodesandscripts' => 'You can get source code and db scripts with these sub commands. For more detail, click this command. Containing commands: /sourcecode, /publishedcode, /wwwroot, /defaultdbscripts, /chatagentdbscripts, /backupdatabase, /transferdata, /customcodes, /addcustomcode, /addpackage, /removepackage, /runsql, /ftpcodepush, /protectcodefile, /downloadprotectedcodefilelist, /databasetype, /developmentlanguage, /developmentframework, /databasetypechange, /developmentlanguagechange, /developmentframeworkchange, /githubpush',
'sourcecodesandscripts' => 'You can get source code and db scripts with these sub commands. Containing commands and details at below:
/sourcecode If your membership credentials supply to download your own source code, your source code will be zipped and will give you as a download link.
/publishedcode You can host your code on your localhost or on any server. Your published code will be zipped and will give you as a download link.
/wwwroot Your wwwroot folder (containing images, videos, files uploaded) will be zipped and will give you as a download link.
/defaultdbscripts Your default database scripts will be zipped and will be prepared as a downloadable url.
/chatagentdbscripts Your chat agent requests that change database and sql commands will be zipped and will be prepared as a downloadable url.
/backupdatabase Your live database will be backed up and will be prepared as a downloadable url.
/transferdata Your source database tables will be re-created with copying all data to destination database.
/customcodes Your custom code scripts which is written on chat agent will be zipped and will be prepared as a downloadable url.
/addcustomcode You can add custom csharp code as a FUNCTION that will be placed in WebApp Controller.
/addpackage You can add new package to your project. For .Net project, it is a nuget package.
/removepackage You can remove selected package from your project.
/runsql You can execute any sql command for CRUD operation (Select, Update, Delete, Insert) or CREATE/ALTER STORED PROCEDURE, FUNCTION etc.
/ftpcodepushYour published code will be sent to your custom ftp connection
/protectcodefileEnter your file name to protect while re-creating code
/downloadprotectedcodefilelistYour protected code file list will be zipped and will be prepared as a downloadable url
/databasetypeGet your database type information
/developmentlanguageGet your development Language information
/developmentframeworkGet your development framework information
/databasetypechangeWrite your database type information
/developmentlanguagechangeWrite your development language information
/developmentframeworkchangeWrite your development framework information
/githubpushYour code will be sent to your github',
'project' => 'You can get and update project definition information. For more detail, click this command. Containing commands: /projectdefinition, /projectdefinitionchange, /projecttype, /projecttypechange',
'project' => 'You can get and update project definition information.
/projectdefinition Get your project definition information. OGAN.AI try to understand your needs and suggest best database type, framework, development language, table, front-end needs.
/projectdefinitionchange You can update project definition.
/projecttype Get your project type information. Project type alternatives: defaultdb, backupdb, reportdb, reportto yourotherprojectname, logindb, loginto yourotherprojectname.
/projecttypechange you can update project type as defaultdb, backupdb, reportdb, reportto yourotherprojectname, logindb, loginto yourotherprojectname. defaultdb is for default usage only one database. backupdb is to use ogan.ai database as a backup. But you must define a external custom connectionstring at first. reportdb is to use ogan.ai project database as a reporting database. It includes all tables in other projects. reportto yourotherprojectname usage is to assign this project to a report database project. logindb is to use ogan.ai project database as a login database. It manages login related tables (tbl_user_role, tbl_user, tbl_user_authorization, tbl_user_devices) for other projects. loginto yourotherprojectname usage is to assign this project to a login database project. ',
'rolesandusers' => 'You can manage roles and users with these sub commands. For more detail, click this command. Containing commands: /listroles, /createrole, /deleterole, /listdefaultroleusers, /deleteroleusers, /listusers, /createuser, /deleteuser, /passiveuser, /updatepassword',
'rolesandusers' => 'You can manage roles and users with these sub commands. Containing commands and details at below:
/listroles Your roles on db will be listed.
/createrole Enter your role name you want to create
/deleterole Enter your role name you want to delete
/listdefaultroleusers Your default users of roles on schema will be listed.
/deleteroleusers Enter your role name you want to delete users of selected role
/listusers Your users of selected role on db will be listed.
/createuser Enter your user info you want to create
/deleteuser Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to delete
/passiveuser Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to make passive
/activateuser Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to activate
/updatepassword Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE and NEW PASSWORD you want to update.',
'listroles' => 'Your roles on db will be listed.
If you are sure, write: ok',
'createrole' => 'New role will be created in schema and db. Enter your role name you want to create with only alphanumeric characters. Add similar to other role name to the command. Format: NEWROLENAME SIMILARTOROLENAME LOGINTYPE(admin -> for admin approved, user -> for user approved via email,sms, direct -> does not need approved)',
'deleterole' => 'New role will be deleted in schema and db. Enter your role name you want to delete:',
'listdefaultroleusers' => 'Your default users of roles on schema will be listed. You can login your web admin panel and create api token with these usernames and passwords.
If you are sure, write: ok',
'listmodules' => 'Your modules on schema will be listed.
If you are sure, write: ok',
'deleteroleusers' => 'Enter your role name you want to delete users of selected role:',
'listusers' => 'Your users of selected role on db will be listed.
Enter role name, or if you want to see in any role, write: ok. Default number of row is 10. For more data, add number of data. Format: SELECTEDROLENAME 20',
'createuser' => 'Enter your user info you want to create.
Format: ROLE FIRSTNAME LASTNAME USERNAME EMAIL MOBILEPHONE PASSWORD (IF any of data is absent, write NAN instead of that.)',
'deleteuser' => 'Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to delete:',
'passiveuser' => 'Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to make passive:',
'activateuser' => 'Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE, you want to activate:',
'updatepassword' => 'Enter one of any user info, USERNAME or EMAIL or MOBILEPHONE and NEW PASSWORD you want to update or change. Format: USERNAME NEWPASSWORD',
'tablespagesviews' => 'You can manage tables, pages and views to create, delete or edit authorization with these sub commands. For more detail, click this command. Containing commands: /listtables, /listviews, /listpages, /createtable, /createview, /deletetable, /deleteview, /showtableauth, /showpageauth, /edittableauth, /editpageauth, /editroleprimaryfield',
'tablespagesviews' => 'You can manage tables, pages and views to create, delete or edit authorization with these sub commands. Containing commands and details at below:
/listtables Your tables on db will be listed
/listviews Your views on db will be listed
/listpages Your admin panel pages will be listed
/createtable Enter your table name you want to create
/createview Enter your view name you want to create
/deletetable Enter your table name you want to delete
/deleteview Enter your view name you want to delete
/showtableauth Authorization parameters of your selected table or view will be listed
/showpageauth Authorization parameters of your selected page will be listed
/edittableauth Authorization parameters of your selected table or view will be edited
/editpageauth Authorization parameters of your selected page will be edited
/editroleprimaryfield Your primary or foreign key data field of your table or view will be edited. It is a relational information for selected role.',
'listviews' => 'Your views on db will be listed.
If you are sure, write: ok',
'listtables' => 'Your tables on db will be listed.
If you are sure, write: ok',
'listpages' => 'Your pages on admin panel will be listed.
If you are sure, write: ok',
'createtable' => 'Enter your table name and you want to create and enter module name after space (only alphanumeric characters. To list module names write: /listmodules. Do you have similar table to copy authorization? Enter EXISTINGTABLENAME after space) Format: NEWTABLENAME MODULENAME EXISTINGTABLENAME ',
'createview' => 'Enter your view name you want to create and enter module name after space (only alphanumeric characters). To list module names write: /listmodules. Enter JOINTYPE (innerjoin, leftouterjoin, rightouterjoin), foreign key fieldname and primary key fieldname. (Ex: innerjoin,table1_fieldname_type,table2_id). Format: NEWVIEWNAME MODULENAME JOINTYPE,FOREIGNKEY_T1FIELDNAME1,PRIMARYKEY_T2FIELDNAMEID',
'deletetable' => 'Enter your table name you want to delete:',
'deleteview' => 'Enter your view name you want to delete:',
'showtableauth' => 'Authorization parameters of your selected table / view and its fields will be listed.
Enter your table or view name you want to see and select rolename.
Format: TABLEORVIEWNAME ROLENAME',
'showpageauth' => 'Authorization parameters of your selected page and its fields will be listed.
Enter your page name you want to see and select rolename.
Format: PAGENAME ROLENAME',
'edittableauth' => 'Authorization parameters of your selected table or view will be edited.
Enter your table or view name you want to edit and enter crud type:
Format: TABLEORVIEWNAME ROLENAME CRUDTYPE(for example: crudu) ALLFIELDSORNOT(To change all fields same crud: ALL, if not select: NAN)',
'editpageauth' => 'Authorization parameters of your selected page will be edited.
Enter your page name you want to edit and enter crud type:
Format: PAGENAME ROLENAME CRUDTYPE(for example: crudu) ALLFIELDSORNOT(To change all fields same crud: ALL, if not select: NAN)',
'editroleprimaryfield' => 'Your primary or foreign key data field of your table or view will be edited. It is a relational information for selected role.
Enter your table or view name and role name you want to edit. Format: TABLEORVIEWNAME ROLENAME PRIMARYFIELDNAME',
'fieldsandauths' => 'You can manage fields and authorization parametres of fields for selected tables and views with these sub commands. For more detail, click this command. Containing commands: /listfields, /createfield, /deletefield, /showfieldauth, /editfieldauth, /editfieldindex, /editfieldrequired, /editfieldvalidationrule',
'fieldsandauths' => 'You can manage fields and authorization parametres of fields for selected tables and views with these sub commands. Containing commands and details at below:
/listfields Fields of your selected table or view will be listed
/createfield Enter your field name you want to create
/deletefield Enter your field name you want to delete
/showfieldauth Selected field authorization parameters will be listed
/editfieldauth Selected field authorization parameters will be edited
/editfieldindex Selected field database index will be active or not
/editfieldrequired Required status of selected field in page form will be active or not
/editfieldvalidationrule Validation rule of selected field in page form will be edited',
'listfields' => 'Fields of your selected table or view will be listed.
Enter your table or view name you want to see:',
'createfield' => 'Enter your field name you want to create.
VALIDATION RULES:
NAN means no rule; 8- means min. 8 chars; 8-50 means chars must be between 8 and 50; -10 means max. 10 chars; multiple-wwwroot/FOLDERNAME-,jpg,png,jpeg, means multiple file upload to FOLDERNAME for selected extensions; single-wwwroot/foldername-,jpg,png,jpeg, means single file upload to FOLDERNAME for selected extensions; foreign key definition if need. Method: foreignkey-TABLENAME-FIELDKEY,FIELDNAME1,FIELDNAME2(,FIELDNAME3,FIELDNAME4) Example:foreignkey-tbl_languages-language_id,language_name
Format: TABLENAME FIELDNAME "WORDCONTENT"(Between double quotation mark "abc") ENCRYPTIONTYPE(1 or 0) INDEXTYPE(1 or 0) DEFAULTVALUE(NULL,((0)),((1)),(newid()),(SYSUTCDATETIME())) DATATYPE(int,bit,bigint,uniqueidentifier,nvarchar-50,nvarchar-max,decimal,datetime) VALIDATIONRULE(NAN, 8-; 8-50; -10; multiple-wwwroot/foldername-,jpg,png,jpeg,; single-wwwroot/foldername-,jpg,png,jpeg,; foreignkey-TABLENAME-FIELDKEY,FIELDNAME1,FIELDNAME2(,FIELDNAME3,FIELDNAME4) ) INPUTTYPE(textbox, checkbox, selectbox, multiselectbox, radiobutton, password, upload, codeeditor) SIMILARTOFIELDNAME',
'deletefield' => 'Enter your field name you want to delete.
Format: TABLEORVIEWNAME FIELDNAME',
'showfieldauth' => 'Selected field authorization parameters will be listed. Enter your table/view name, field name and role you want to see.
Format: TABLEORVIEWORPAGENAME FIELDNAME ROLENAME TABLEORPAGE(table - page)',
'editfieldauth' => 'Selected field authorization parameters will be edited. Enter your table/view name, field name and role you want to edit.
Format: TABLEORVIEWNAME(tablename/viewname or ALL) FIELDNAME(fieldname or ALL) ROLENAME(rolename or ALL) TABLENEWAUTHVALUE(example: crudu or NAN) PAGENEWAUTHVALUE(example: crudu or NAN)',
'editfieldindex' => 'Selected field database index will be edited. Enter your table/view name and field name you want to edit.
Format: TABLEORVIEWNAME FIELDNAME NEWINDEXVALUE(1 or 0)',
'editfieldrequired' => 'Required status of selected field in page form will be edited. Enter your table/view name and field name you want to edit.
Format: TABLENAME FIELDNAME ROLENAME NEWREQUIREDVALUE(1 or 0)',
'editfieldvalidationrule' => 'VALIDATION RULES:
NAN means no rule; 8- means min. 8 chars; 8-50 means chars must be between 8 and 50; -10 means max. 10 chars; multiple-wwwroot/FOLDERNAME-,jpg,png,jpeg, means multiple file upload to FOLDERNAME for selected extensions; single-wwwroot/foldername-,jpg,png,jpeg, means single file upload to FOLDERNAME for selected extensions; foreign key definition if need. Method: foreignkey-TABLENAME-FIELDKEY,FIELDNAME1,FIELDNAME2(,FIELDNAME3,FIELDNAME4) Example:foreignkey-tbl_languages-language_id,language_name
Validation rule of selected field in page form will be edited. Enter your table name and field name you want to edit.
Format: TABLENAMEORPAGENAME FIELDNAME ROLENAME(or ALL) VALIDATIONRULE(NAN, 8-; 8-50; -10; multiple-wwwroot/foldername-,jpg,png,jpeg,; single-wwwroot/foldername-,jpg,png,jpeg, ; foreignkey-TABLENAME-FIELDKEY,FIELDNAME1,FIELDNAME2(,FIELDNAME3,FIELDNAME4) )',
'edittitles' => 'You can edit title names of fields for selected tables and pages with these sub commands. For more detail, click this command. Containing commands: /editpagetitle, /editfieldtitle, /showstatuscontent, /editstatuscontent, , , , /listlanguages, /setlanguage, /listmodules',
'edittitles' => 'You can edit title names of fields for selected tables and pages with these sub commands. Containing commands and details at below:
/editpagetitle Enter your field name and role name you want to edit title of page
/editfieldtitle Enter your field name and role name you want to edit title of data field
/showstatuscontent Enter your field name and role name you want to see content of status.
/editstatuscontent Enter your field name and role name you want to edit content of status.
Enter your menu name and role name you want to edit title of menu
Your menu elements will be listed
Enter role name you want to edit menu element
/listlanguages Your languages will be listed
/setlanguage Set your default language before createcode.
/listmodules Your admin panel modules will be listed. ',
'editpagetitle' => 'Enter your field name and role name you want to edit title of page.
Format: PAGENAME ROLENAME LANGUAGEID(1,2 etc) "NEWTITLE"(Between double quotation mark "abc")',
'editfieldtitle' => 'Enter your field name and role name you want to edit title of data field.
Format: TABLEORVIEWNAME FIELDNAME ROLENAME FILTERORTABLE(filter, table) LANGUAGEID(1,2 etc) "NEWTITLE"(Between double quotation mark "abc")',
'showstatuscontent' => 'Enter your field name and role name you want to see content of status.
Format: TABLEORVIEWNAME FIELDNAME ROLENAME LANGUAGEID(1,2 etc)',
'editstatuscontent' => 'Enter your field name and role name you want to edit content of status.
Format: TABLEORVIEWNAME FIELDNAME ROLENAME LANGUAGEID(1,2 etc) NEWCONTENT({"v":"No selection","v1":"Selection 1", "v2":"Selection 2"})',
'editmenutitle' => 'Enter your menu element name and role name you want to edit title of menu element.
Format: MENUELEMENTNAME ROLENAME LANGUAGEID(1,2 etc) "NEWTITLE"(Between double quotation mark "abc")',
'listmenuelements' => 'Enter role and module name you want to list.
Format: ROLENAME MODULENAME',
'editmenuelement' => 'Enter role name you want to edit menu element.
Format: ROLENAME MENUELEMENTURL ACTIVEORPASSIVE(1 or 0)',
'listlanguages' => 'Your languages will be listed.
If you are sure, write: ok',
'setlanguage' => 'You can set your default language before createcode. Default template presents two languages. Second language is always set in English language as default.
Select one of them: en, es, fr, de, pt, tr, ru, zh, zt, hi, it, nl, sq, az, bn, bg, ca, eo, cs, da, et, fi, el, he, hu, id, ga, ja, ko, lv, lt, ms, nb, fa, pl, ro, sr, sk, sl, sv, tl, th, uk, ar, ur, vi',
'getapitoken' => 'Get API Token Values of selected user. Enter your username (username, mobile number or email).
Format: USERNAME'
'questionanswer' => 'You can manage question and answer list that will be used for chat AI service of your project. Upload or download you question and answer document, get chat service API token for your project.',
'questionanswer' => 'You can manage question and answer list that will be used for chat AI service of your project. Containing commands:
If you have updated, download your existing question and answer document with this link:Download
To get response as a command with chat API service, you can write it like that: questiontypename (Example: returnandpayback optional, it can be empty) -> easyselectoptionlist (split with ; sign. Example: optiontext1;optiontext2;optiontext3 optional, it can be empty) -> question -> answer. Upload your custom question and answer document (only .txt) with this link: Upload
To get question and answer chat service API token, you this command. /qaapitoken',
'qaapitoken' => 'Get Question and Answer API Token Values for your project.
If you are sure, write: ok',
'mcptoken' => 'Get MCP Token Value to use it MCP Servers.
If you are sure, write: ok',
'debuglogs' => 'Last debug logs will be shared
If you are sure, enter number of logs you want see as a numeric value, or for last 10 logs. You can also see publish logs: /publishlogs',
'webpanel' => 'You can see your admin panel, swagger document, and project code file form on your project ... button at right menu. Your web admin panel, swagger and code files link will be shared as a link. To login admin panel, you can use these default users: /listdefaultroleusers'