Item class has been moved to a new directory 'models', a new class has been added: ItemContent

and same fields from Item were moved to ItemContent

Item
- id
- parent_id
- type (file, dir, symlink)
- url
- subject
- template (html template)
- sort_index
- content_id

ItemContent
- id
- ref -> references (renamed)
- user_id
- modification_user_id
- group_id
- privileges
- date_creation
- date_modification
- guest_name
- link_to
- link_redirect
- file_path
- file_fs
- file_type
- file_size
- has_thumb -> file_has_thumb (renamed)
- hash -> file_hash (renamed)
- hash_type -> file_hash_type (renamed)
- content -> content_raw (renamed)
- content_type -> content_raw_type (renamed)
- content_parsed
- content_parsed_type
- meta
- ameta -> meta_admin (renamed)
- modify_index (removed)

WIP: #4
This commit is contained in:
2021-02-24 01:19:47 +01:00
parent 3d7ece15f8
commit 32e93a04c5
118 changed files with 5795 additions and 4514 deletions

View File

@@ -2,11 +2,11 @@
db.o: db.h dbbase.h dbconn.h dbtextstream.h
db.o: ../../../winix/winixd/core/textstream.h
db.o: ../../../winix/winixd/core/misc.h ../../../winix/winixd/core/item.h
db.o: ../../../pikotools/space/space.h ../../../pikotools/textstream/types.h
db.o: ../../../pikotools/date/date.h ../../../pikotools/convert/inttostr.h
db.o: ../../../winix/winixd/core/misc.h
db.o: ../../../winix/winixd/core/requesttypes.h
db.o: ../../../pikotools/textstream/textstream.h
db.o: ../../../pikotools/space/space.h ../../../pikotools/textstream/types.h
db.o: ../../../pikotools/date/date.h ../../../pikotools/convert/inttostr.h
db.o: ../../../pikotools/membuffer/membuffer.h
db.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
db.o: ../../../winix/winixd/core/winix_const.h
@@ -23,21 +23,30 @@ db.o: ../../../pikotools/log/log.h ../../../pikotools/log/filelog.h
db.o: ../../../winix/winixd/core/log.h ../../../winix/winixd/core/synchro.h
db.o: ../../../winix/winixd/core/filelog.h ../../../winix/winixd/core/lock.h
db.o: ../../../winix/winixd/core/synchro.h ../../../winix/winixd/core/error.h
db.o: dbitemquery.h ../../../winix/winixd/core/item.h dbitemcolumns.h
db.o: ../../../winix/winixd/core/user.h ../../../winix/winixd/core/group.h
db.o: dbitemquery.h dbitemcolumns.h ../../../winix/winixd/core/user.h
db.o: ../../../winix/winixd/core/group.h
db.o: ../../../winix/winixd/core/dircontainer.h
db.o: ../../../winix/winixd/core/winixbase.h
db.o: ../../../winix/winixd/models/item.h ../../../morm/src/model.h
db.o: ../../../morm/src/modelconnector.h ../../../morm/src/clearer.h
db.o: ../../../morm/src/dbconnector.h ../../../morm/src/queryresult.h
db.o: ../../../morm/src/flatconnector.h ../../../morm/src/dbexpression.h
db.o: ../../../morm/src/baseexpression.h ../../../morm/src/morm_types.h
db.o: ../../../morm/src/modelenv.h ../../../morm/src/modeldata.h
db.o: ../../../morm/src/cursorhelper.h ../../../morm/src/finderhelper.h
db.o: ../../../morm/src/fieldvaluehelper.h ../../../morm/src/flatexpression.h
db.o: ../../../winix/winixd/models/itemcontent.h
db.o: ../../../winix/winixd/core/ugcontainer.h
db.o: ../../../winix/winixd/core/misc.h
dbbase.o: dbbase.h dbconn.h dbtextstream.h
dbbase.o: ../../../winix/winixd/core/textstream.h
dbbase.o: ../../../winix/winixd/core/misc.h ../../../winix/winixd/core/item.h
dbbase.o: ../../../winix/winixd/core/misc.h
dbbase.o: ../../../winix/winixd/core/requesttypes.h
dbbase.o: ../../../pikotools/textstream/textstream.h
dbbase.o: ../../../pikotools/space/space.h
dbbase.o: ../../../pikotools/textstream/types.h
dbbase.o: ../../../pikotools/date/date.h
dbbase.o: ../../../pikotools/convert/inttostr.h
dbbase.o: ../../../winix/winixd/core/requesttypes.h
dbbase.o: ../../../pikotools/textstream/textstream.h
dbbase.o: ../../../pikotools/membuffer/membuffer.h
dbbase.o: ../../../pikotools/textstream/types.h
dbbase.o: ../../../pikotools/utf8/utf8.h
@@ -61,13 +70,13 @@ dbbase.o: ../../../winix/winixd/core/synchro.h
dbbase.o: ../../../winix/winixd/core/error.h
dbbase.o: ../../../winix/winixd/core/misc.h
dbconn.o: dbconn.h dbtextstream.h ../../../winix/winixd/core/textstream.h
dbconn.o: ../../../winix/winixd/core/misc.h ../../../winix/winixd/core/item.h
dbconn.o: ../../../winix/winixd/core/misc.h
dbconn.o: ../../../winix/winixd/core/requesttypes.h
dbconn.o: ../../../pikotools/textstream/textstream.h
dbconn.o: ../../../pikotools/space/space.h
dbconn.o: ../../../pikotools/textstream/types.h
dbconn.o: ../../../pikotools/date/date.h
dbconn.o: ../../../pikotools/convert/inttostr.h
dbconn.o: ../../../winix/winixd/core/requesttypes.h
dbconn.o: ../../../pikotools/textstream/textstream.h
dbconn.o: ../../../pikotools/membuffer/membuffer.h
dbconn.o: ../../../pikotools/textstream/types.h
dbconn.o: ../../../pikotools/utf8/utf8.h
@@ -89,17 +98,15 @@ dbconn.o: ../../../winix/winixd/core/filelog.h
dbconn.o: ../../../winix/winixd/core/lock.h
dbconn.o: ../../../winix/winixd/core/synchro.h
dbconn.o: ../../../winix/winixd/core/error.h
dbitemcolumns.o: dbitemcolumns.h ../../../winix/winixd/core/item.h dbbase.h
dbitemcolumns.o: dbconn.h dbtextstream.h
dbitemcolumns.o: dbitemcolumns.h dbbase.h dbconn.h dbtextstream.h
dbitemcolumns.o: ../../../winix/winixd/core/textstream.h
dbitemcolumns.o: ../../../winix/winixd/core/misc.h
dbitemcolumns.o: ../../../winix/winixd/core/item.h
dbitemcolumns.o: ../../../winix/winixd/core/requesttypes.h
dbitemcolumns.o: ../../../pikotools/textstream/textstream.h
dbitemcolumns.o: ../../../pikotools/space/space.h
dbitemcolumns.o: ../../../pikotools/textstream/types.h
dbitemcolumns.o: ../../../pikotools/date/date.h
dbitemcolumns.o: ../../../pikotools/convert/inttostr.h
dbitemcolumns.o: ../../../winix/winixd/core/requesttypes.h
dbitemcolumns.o: ../../../pikotools/textstream/textstream.h
dbitemcolumns.o: ../../../pikotools/membuffer/membuffer.h
dbitemcolumns.o: ../../../pikotools/textstream/types.h
dbitemcolumns.o: ../../../pikotools/utf8/utf8.h
@@ -123,16 +130,15 @@ dbitemcolumns.o: ../../../winix/winixd/core/filelog.h
dbitemcolumns.o: ../../../winix/winixd/core/lock.h
dbitemcolumns.o: ../../../winix/winixd/core/synchro.h
dbitemcolumns.o: ../../../winix/winixd/core/error.h
dbitemquery.o: dbitemquery.h ../../../winix/winixd/core/item.h
dbitemquery.o: dbitemquery.h
dbtextstream.o: dbtextstream.h ../../../winix/winixd/core/textstream.h
dbtextstream.o: ../../../winix/winixd/core/misc.h
dbtextstream.o: ../../../winix/winixd/core/item.h
dbtextstream.o: ../../../winix/winixd/core/requesttypes.h
dbtextstream.o: ../../../pikotools/textstream/textstream.h
dbtextstream.o: ../../../pikotools/space/space.h
dbtextstream.o: ../../../pikotools/textstream/types.h
dbtextstream.o: ../../../pikotools/date/date.h
dbtextstream.o: ../../../pikotools/convert/inttostr.h
dbtextstream.o: ../../../winix/winixd/core/requesttypes.h
dbtextstream.o: ../../../pikotools/textstream/textstream.h
dbtextstream.o: ../../../pikotools/membuffer/membuffer.h
dbtextstream.o: ../../../pikotools/textstream/types.h
dbtextstream.o: ../../../pikotools/utf8/utf8.h

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@
#include "dbbase.h"
#include "dbitemquery.h"
#include "dbitemcolumns.h"
#include "core/item.h"
//#include "core/item.h"
#include "core/user.h"
#include "core/group.h"
#include "core/dircontainer.h"
@@ -60,12 +60,12 @@ class Db : public DbBase
{
public:
// !! przerobic tak aby GetItem zwracalo wszystkie pozycja
// !! GetFile tylko dla plikow
// !! GetDir tylko dla katalogow
// !! GetFile i GetDir beda uzywac GetItem
Db() : item_cols(*this)
// Db() : item_cols(*this)
// {
// is_postgresql_smaller_than_10 = false;
// }
Db()
{
is_postgresql_smaller_than_10 = false;
}
@@ -83,91 +83,91 @@ public:
Error ChangeUserTimeZone(long user_id, size_t time_zone_id);
Error RemoveUser(long user_id);
Error AddItem(Item & item);
Error EditItemById(Item & item, bool with_url = true);
Error EditItemByUrl(Item & item, bool with_url = true);
//Error AddItem(Item & item);
//Error EditItemById(Item & item, bool with_url = true);
//Error EditItemByUrl(Item & item, bool with_url = true);
// !! nie zwracac zadnych kodow bledow?
void GetItems(std::vector<Item> & item_tab, const DbItemQuery & item_query);
void GetItems(std::vector<long> & item_tab, const DbItemQuery & item_query);
Error GetItem(Item & item, const DbItemQuery & item_query);
//void GetItems(std::vector<Item> & item_tab, const DbItemQuery & item_query);
//void GetItems(std::vector<long> & item_tab, const DbItemQuery & item_query);
//Error GetItem(Item & item, const DbItemQuery & item_query);
bool GetPriv(Item & item, long id);
Error EditPrivById(Item & item, long id); // !! dlaczego tu nie ma const?
Error EditParentUrlById(Item & item, long id);
Error EditFileById(const Item & item, long id); // file_path, file_fs, file_type
Error EditHasThumbById(bool has_thumb, long id);
Error EditMetaById(const PT::Space & meta, long id);
Error EditAdminMetaById(const PT::Space & meta, long id);
//bool GetPriv(Item & item, long id);
//Error EditPrivById(Item & item, long id); // !! dlaczego tu nie ma const?
//Error EditParentUrlById(Item & item, long id);
//Error EditFileById(const Item & item, long id); // file_path, file_fs, file_type
//Error EditHasThumbById(bool has_thumb, long id);
//Error EditMetaById(const PT::Space & meta, long id);
//Error EditAdminMetaById(const PT::Space & meta, long id);
Error DelDirById(long id);
Error DelFileById(long file_id);
Error DelSymlinkById(long symlink_id);
//Error DelDirById(long id);
//Error DelFileById(long file_id);
//Error DelSymlinkById(long symlink_id);
Error EditSubjectById(Item & item, long id);
//Error EditSubjectById(Item & item, long id);
Error DelItem(const Item & item);
void GetDirs(DirContainer & dir_tab);
//Error DelItem(const Item & item);
//void GetDirs(DirContainer & dir_tab);
void GetUsers(UGContainer<User> & user_tab);
void GetGroups(UGContainer<Group> & group_tab);
// !! nowy interfejs
long Size(long parent_id, Item::Type type = Item::none);
//long Size(long parent_id, Item::Type type = Item::none);
Error GetItemById(long item_id, Item & item);
Error GetItem(long parent_id, const std::wstring & url, Item & item);
Error EditLinkItem(long id, const std::wstring & link_to, int link_redirect);
Error EditTemplateItemById(long id, const std::wstring & new_html_template);
//Error GetItemById(long item_id, Item & item);
//Error GetItem(long parent_id, const std::wstring & url, Item & item);
//Error EditLinkItem(long id, const std::wstring & link_to, int link_redirect);
//Error EditTemplateItemById(long id, const std::wstring & new_html_template);
long GetItemId(long parent_id, const std::wstring & url, Item::Type type);
long GetFileId(long parent_id, const std::wstring & url);
long GetDirId(long parent_id, const std::wstring & url);
//long GetItemId(long parent_id, const std::wstring & url, Item::Type type);
//long GetFileId(long parent_id, const std::wstring & url);
//long GetDirId(long parent_id, const std::wstring & url);
Error AddHardLink(Item & item);
Error EditSortIndexItemById(long id, int sort_index);
//Error AddHardLink(Item & item);
//Error EditSortIndexItemById(long id, int sort_index);
protected:
DbTextStream query, query_create_url;
std::wstring temp_url;
Item dir_temp;
Item get_item_temp;
std::wstring iq_id_list;
DbItemColumns item_cols;
//std::wstring temp_url;
//Item dir_temp;
//Item get_item_temp;
//std::wstring iq_id_list;
//DbItemColumns item_cols;
bool is_postgresql_smaller_than_10;
std::wstring postgrsql_row_statement;
bool AddItemCreateUrlSubject(Item & item);
//bool AddItemCreateUrlSubject(Item & item);
Error AddItemIntoContent(Item & item);
Error AddItemIntoItem(Item & item);
//Error AddItemIntoContent(Item & item);
//Error AddItemIntoItem(Item & item);
Error EditItemInItem(Item & item, bool with_url);
Error EditItemInContent(Item & item);
Error EditItemGetIdsByUrl(Item & item);
long GetContentId(long item_id);
//Error EditItemInItem(Item & item, bool with_url);
//Error EditItemInContent(Item & item);
//Error EditItemGetIdsByUrl(Item & item);
//long GetContentId(long item_id);
Error DelItemDelItem(long item_id, int type);
Error DelItemDelContent(long content_id);
//Error DelItemDelItem(long item_id, int type);
//Error DelItemDelContent(long content_id);
Error IncrementContentRef(long content_id);
Error DecrementContentRef(long content_id);
//Error IncrementContentRef(long content_id);
//Error DecrementContentRef(long content_id);
void GetItemsQuerySelect(const DbItemQuery & iq, DbTextStream & query, bool skip_other_sel);
void GetItemsQueryJoin(const DbItemQuery & iq, DbTextStream & query);
void GetItemsQueryWhere(const DbItemQuery & iq, DbTextStream & query);
void GetItemsQueryOrder(bool sort_asc);
void GetItemsQueryOrder(const DbItemQuery & iq, DbTextStream & query);
void GetItemsQueryLimit(const DbItemQuery & iq, DbTextStream & query);
PGresult * GetItemsQuery(const DbItemQuery & iq, DbTextStream & query, bool skip_other_sel = false);
PGresult * GetItemsQuery(const DbItemQuery & iq, bool skip_other_sel = false);
//void GetItemsQuerySelect(const DbItemQuery & iq, DbTextStream & query, bool skip_other_sel);
//void GetItemsQueryJoin(const DbItemQuery & iq, DbTextStream & query);
//void GetItemsQueryWhere(const DbItemQuery & iq, DbTextStream & query);
//void GetItemsQueryOrder(bool sort_asc);
//void GetItemsQueryOrder(const DbItemQuery & iq, DbTextStream & query);
//void GetItemsQueryLimit(const DbItemQuery & iq, DbTextStream & query);
//PGresult * GetItemsQuery(const DbItemQuery & iq, DbTextStream & query, bool skip_other_sel = false);
//PGresult * GetItemsQuery(const DbItemQuery & iq, bool skip_other_sel = false);
};

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2018, Tomasz Sowa
* Copyright (c) 2008-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,7 @@
namespace Winix
{
/*
void DbItemColumns::SetColumns(PGresult * r)
{
@@ -115,7 +115,7 @@ void DbItemColumns::SetItem(PGresult * r, long row, Item & item)
if( ameta != -1 ) db_base.AssertValueSpace(r, row, ameta, item.ameta);
}
*/
} // namespace Winix

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2010-2014, Tomasz Sowa
* Copyright (c) 2010-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -36,14 +36,14 @@
#define headerfile_winix_db_dbitemcolumns
#include <libpq-fe.h>
#include "core/item.h"
//#include "core/item.h"
#include "dbbase.h"
namespace Winix
{
/*
struct DbItemColumns
{
@@ -91,7 +91,7 @@ private:
};
*/
} // namespace Winix

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2010-2015, Tomasz Sowa
* Copyright (c) 2010-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,7 @@
namespace Winix
{
/*
DbItemQuery::DbItemQuery()
{
@@ -158,7 +158,7 @@ void DbItemQuery::Offset(long o)
offset = o;
}
*/
} // namespace Winix

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2010-2015, Tomasz Sowa
* Copyright (c) 2010-2021, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -36,14 +36,14 @@
#define headerfile_winix_db_dbitemquery
#include <vector>
#include "core/item.h"
//#include "core/item.h"
namespace Winix
{
/*
struct DbItemQuery
{
@@ -101,6 +101,7 @@ struct DbItemQuery
};
*/
} // namespace Winix