package by.istin.android.xcore.test.vk;
import android.content.ContentValues;
import android.provider.BaseColumns;
import by.istin.android.xcore.annotations.dbDouble;
import by.istin.android.xcore.annotations.dbInteger;
import by.istin.android.xcore.annotations.dbLong;
import by.istin.android.xcore.annotations.dbString;
import by.istin.android.xcore.db.impl.DBHelper;
import by.istin.android.xcore.db.entity.IBeforeUpdate;
import by.istin.android.xcore.db.IDBConnection;
import by.istin.android.xcore.source.DataSourceRequest;
import by.istin.android.xcore.utils.HashUtils;
import com.google.gson.annotations.SerializedName;
public class Attachment implements BaseColumns, IBeforeUpdate {
@dbLong
public static final String ID = _ID;
@dbString
public static final String TYPE = "type";
@dbLong
public static final String MESSAGE_ID = "message_id";
@dbLong
public static final String DIALOG_ID = "dialog_id";
/* ===== DOC ===== */
@dbLong
@SerializedName(value="doc:did")
public static final String DOC_ID = "did";
@dbLong
@SerializedName(value="doc:owner_id")
public static final String DOC_OWNER_ID = "doc_owner_id";
@dbLong
@SerializedName(value="doc:size")
public static final String DOC_SIZE = "doc_size";
@dbString
@SerializedName(value="doc:title")
public static final String DOC_TITLE = "doc_title";
@dbString
@SerializedName(value="doc:ext")
public static final String DOC_EXT = "doc_ext";
@dbString
@SerializedName(value="doc:url")
public static final String DOC_URL = "doc_url";
@dbString
@SerializedName(value="doc:access_key")
public static final String DOC_ACCESS_KEY = "doc_access_key";
/* ===== AUDIO ===== */
@dbLong
@SerializedName(value="audio:aid")
public static final String AUDIO_ID = "aid";
@dbLong
@SerializedName(value="audio:owner_id")
public static final String AUDIO_OWNER_ID = "audio_owner_id";
@dbInteger
@SerializedName(value="audio:duration")
public static final String AUDIO_DURATION = "audio_duration";
@dbString
@SerializedName(value="audio:artist")
public static final String AUDIO_ARTIST = "audio_artist";
@dbString
@SerializedName(value="audio:title")
public static final String AUDIO_TITLE = "audio_title";
@dbString
@SerializedName(value="audio:url")
public static final String AUDIO_URL = "audio_url";
@dbString
@SerializedName(value="audio:performer")
public static final String AUDIO_PERFORMER = "audio_performer";
@dbString
@SerializedName(value="audio:album")
public static final String AUDIO_ALBUM = "audio_album";
/* ===== PHOTO ===== */
@dbLong
@SerializedName(value="photo:pid")
public static final String PHOTO_ID = "pid";
@dbLong
@SerializedName(value="photo:aid")
public static final String PHOTO_AID = "photo_aid";
@dbLong
@SerializedName(value="photo:owner_id")
public static final String PHOTO_OWNER_ID = "photo_owner_id";
@dbLong
@SerializedName(value="photo:created")
public static final String PHOTO_CREATED = "photo_created";
@dbInteger
@SerializedName(value="photo:width")
public static final String PHOTO_WIDTH = "photo_width";
@dbInteger
@SerializedName(value="photo:height")
public static final String PHOTO_HEIGHT = "photo_height";
@dbDouble
@SerializedName(value="photo:lat")
public static final String PHOTO_LAT = "photo_lat";
@dbDouble
@SerializedName(value="photo:long")
public static final String PHOTO_LONG = "photo_long";
@dbString
@SerializedName(value="photo:src")
public static final String PHOTO_SRC = "photo_src";
@dbString
@SerializedName(value="photo:src_big")
public static final String PHOTO_SRC_BIG = "photo_src_big";
@dbString
@SerializedName(value="photo:src_small")
public static final String PHOTO_SRC_SMALL = "photo_src_small";
@dbString
@SerializedName(value="photo:src_xbig")
public static final String PHOTO_SRC_XBIG = "photo_src_xbig";
@dbString
@SerializedName(value="photo:src_xxbig")
public static final String PHOTO_SRC_XXBIG = "photo_src_xxbig";
@dbString
@SerializedName(value="photo:src_xxxbig")
public static final String PHOTO_SRC_XXXBIG = "photo_src_xxxbig";
@dbString
@SerializedName(value="photo:text")
public static final String PHOTO_TEXT = "photo_text";
@dbString
@SerializedName(value="photo:access_key")
public static final String PHOTO_ACCESS_KEY = "photo_access_key";
/* ===== VIDEO ===== */
@dbLong
@SerializedName(value="video:vid")
public static final String VIDEO_ID = "vid";
@dbLong
@SerializedName(value="video:owner_id")
public static final String VIDEO_OWNER_ID = "video_owner_id";
@dbLong
@SerializedName(value="video:date")
public static final String VIDEO_DATE = "video_date";
@dbLong
@SerializedName(value="video:views")
public static final String VIDEO_VIEWS = "video_views";
@dbLong
@SerializedName(value="video:duration")
public static final String VIDEO_DURATION = "video_duration";
@dbString
@SerializedName(value="video:title")
public static final String VIDEO_TITLE = "video_title";
@dbString
@SerializedName(value="video:description")
public static final String VIDEO_DESCRIPTION = "video_description";
@dbString
@SerializedName(value="video:image")
public static final String VIDEO_IMAGE = "video_image";
@dbString
@SerializedName(value="video:image_big")
public static final String VIDEO_IMAGE_BIG = "video_image_big";
@dbString
@SerializedName(value="video:image_small")
public static final String VIDEO_IMAGE_SMALL = "video_image_small";
@dbString
@SerializedName(value="video:image_xbig")
public static final String VIDEO_IMAGE_XBIG = "video_image_xbig";
@dbString
@SerializedName(value="video:access_key")
public static final String VIDEO_ACCESS_KEY = "video_access_key";
/* ===== GEO ===== */
@dbString
@SerializedName(value="geo:type")
public static final String GEO_TYPE = "geo_type";
@dbString
@SerializedName(value="geo:coordinates")
public static final String GEO_COORDINATES = "geo_coordinates";
@dbString
@SerializedName(value="geo:place:title")
public static final String GEO_PLACE_TITLE = "geo_place_title";
@dbString
@SerializedName(value="geo:place:country")
public static final String GEO_PLACE_COUNTRY = "geo_place_country";
@dbString
@SerializedName(value="geo:place:city")
public static final String GEO_PLACE_CITY = "geo_place_city";
@Override
public void onBeforeUpdate(DBHelper dbHelper, IDBConnection db, DataSourceRequest dataSourceRequest, ContentValues contentValues) {
String hashValue = contentValues.getAsString(TYPE)
+ contentValues.getAsLong(DOC_ID)
+ contentValues.getAsLong(AUDIO_ID)
+ contentValues.getAsLong(VIDEO_ID)
+ contentValues.getAsLong(PHOTO_ID)
+ contentValues.getAsLong(MESSAGE_ID)
+ contentValues.getAsLong(DIALOG_ID)
+ contentValues.getAsString(GEO_COORDINATES);
contentValues.put(_ID, HashUtils.generateId(hashValue));
}
}