package com.kenny.openimgur.util;
import android.provider.BaseColumns;
import com.kenny.openimgur.classes.ImgurNotification;
/**
* Created by kcampagna on 7/25/14.
*/
public class DBContracts {
public static class UserContract implements BaseColumns {
public static final String TABLE_NAME = "user";
public static final String COLUMN_ACCESS_TOKEN = "access_token";
public static final String COLUMN_REFRESH_TOKEN = "refresh_token";
public static final String COLUMN_ACCESS_TOKEN_EXPIRATION = "at_expiration";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_CREATED = "created";
public static final String COLUMN_PRO_EXPIRATION = "pro_expiration";
public static final String COLUMN_REPUTATION = "rep";
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_NAME + " TEXT NOT NULL," +
COLUMN_ACCESS_TOKEN + " TEXT NOT NULL," +
COLUMN_REFRESH_TOKEN + " TEXT NOT NULL," +
COLUMN_CREATED + " INTEGER," +
COLUMN_ACCESS_TOKEN_EXPIRATION + " INTEGER," +
COLUMN_PRO_EXPIRATION + " INTEGER," +
COLUMN_REPUTATION + " INTEGER);";
public static int COLUMN_INDEX_ID = 0;
public static int COLUMN_INDEX_NAME = 1;
public static int COLUMN_INDEX_ACCESS_TOKEN = 2;
public static int COLUMN_INDEX_REFRESH_TOKEN = 3;
public static int COLUMN_INDEX_CREATED = 4;
public static int COLUMN_INDEX_ACCESS_TOKEN_EXPIRATION = 5;
public static int COLUMN_INDEX_PRO_EXPIRATION = 6;
public static int COLUMN_INDEX_REPUTATION = 7;
}
public static class ProfileContract implements BaseColumns {
public static final String TABLE_NAME = "profiles";
public static final String COLUMN_USERNAME = "username";
public static final String COLUMN_REP = "rep";
public static final String COLUMN_BIO = "bio";
public static final String COLUMN_LAST_SEEN = "last_seen";
public static final String COLUMN_CREATED = "created";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_USERNAME = 1;
public static final int COLUMN_INDEX_REP = 2;
public static final int COLUMN_INDEX_BIO = 3;
public static final int COLUMN_INDEX_LAST_SEEN = 4;
public static final int COLUMN_INDEX_CREATED = 5;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_USERNAME + " TEXT NOT NULL, " +
COLUMN_REP + " INTEGER, " +
COLUMN_BIO + " TEXT, " +
COLUMN_LAST_SEEN + " INTEGER, " +
COLUMN_CREATED + " INTEGER);";
public static final String SEARCH_USER_SQL = "SELECT * FROM " + TABLE_NAME +
" WHERE " + COLUMN_USERNAME + " LIKE ? LIMIT 0,1";
}
public static class UploadContract implements BaseColumns {
public static final String TABLE_NAME = "uploads";
public static final String COLUMN_URL = "url";
public static final String COLUMN_DATE = "date";
public static final String COLUMN_DELETE_HASH = "delete_hash";
public static final String COLUMN_IS_ALBUM = "is_album";
public static final String COLUMN_COVER_ID = "cover_id";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_URL = 1;
public static final int COLUMN_INDEX_DATE = 2;
public static final int COLUMN_INDEX_DELETE_HASH = 3;
public static final int COLUMN_INDEX_IS_ALBUM = 4;
public static final int COLUMN_INDEX_COVER_ID = 5;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_URL + " TEXT NOT NULL, " +
COLUMN_DATE + " INTEGER, " +
COLUMN_DELETE_HASH + " TEXT, " +
COLUMN_IS_ALBUM + " INTEGER, " +
COLUMN_COVER_ID + " TEXT);";
public static final String GET_UPLOADS_SQL = "SELECT * FROM " + TABLE_NAME +
" ORDER BY " + COLUMN_DATE + " DESC";
}
public static class TopicsContract implements BaseColumns {
public static final String TABLE_NAME = "topics";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_DESC = "description";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_NAME = 1;
public static final int COLUMN_INDEX_DESC = 2;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_NAME + " TEXT NOT NULL, " +
COLUMN_DESC + " TEXT NOT NULL);";
public static final String GET_TOPICS_SQL = "SELECT * FROM " + TABLE_NAME
+ " ORDER BY " + COLUMN_NAME + " COLLATE NOCASE ASC";
public static final String GET_TOPIC_SQL = "SELECT * FROM " + TABLE_NAME + " WHERE " +
_ID + " = ? LIMIT 0,1";
}
public static class SubRedditContract implements BaseColumns {
public static final String TABLE_NAME = "subreddits";
public static final String COLUMN_NAME = "name";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_NAME = 1;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_NAME + " TEXT NOT NULL UNIQUE)";
public static final String GET_SUBREDDITS_SQL = "SELECT * FROM " + TABLE_NAME;
public static final String SEARCH_SUBREDDIT_SQL = "SELECT * FROM " + TABLE_NAME + " WHERE " +
COLUMN_NAME + " LIKE ?";
}
public static class MemeContract implements BaseColumns {
public static final String TABLE_NAME = "meme";
public static final String COLUMN_TITLE = "title";
public static final String COLUMN_LINK = "link";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_TITLE = 1;
public static final int COLUMN_INDEX_LINK = 2;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " TEXT, " +
COLUMN_TITLE + " TEXT, " +
COLUMN_LINK + " TEXT)";
public static final String GET_MEMES_SQL = "SELECT * FROM " + TABLE_NAME;
}
public static class GallerySearchContract implements BaseColumns {
public static final String TABLE_NAME = "gallery_search";
public static final String COLUMN_NAME = "name";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_NAME = 1;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_NAME + " TEXT NOT NULL UNIQUE)";
public static final String GET_PREVIOUS_SEARCHES_SQL = "SELECT * FROM " + TABLE_NAME;
public static final String SEARCH_GALLERY_SQL = "SELECT * FROM " + TABLE_NAME + " WHERE " +
COLUMN_NAME + " LIKE ?";
}
public static class MuzeiContract implements BaseColumns {
public static final String TABLE_NAME = "muzei";
public static final String COLUMN_LINK = "link";
public static final String COLUMN_LAST_SEEN = "last_seen";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_LINK = 1;
public static final int COLUMN_INDEX_LAST_SEEN = 2;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_LINK + " TEXT NOT NULL UNIQUE, " +
COLUMN_LAST_SEEN + " INTEGER)";
public static final String GET_LAST_SEEN_SQL = "SELECT " + COLUMN_LAST_SEEN + " FROM " + TABLE_NAME +
" WHERE " + COLUMN_LINK + " =? LIMIT 0,1";
}
public static class NotificationContract implements BaseColumns {
public static final String TABLE_NAME = "notifications";
public static final String COLUMN_AUTHOR = "author";
public static final String COLUMN_CONTENT = "content";
public static final String COLUMN_DATE = "date";
public static final String COLUMN_TYPE = "type";
public static final String COLUMN_CONTENT_ID = "content_id";
public static final String COLUMN_ALBUM_COVER = "album_cover";
public static final String COLUMN_VIEWED = "viewed";
public static final int COLUMN_INDEX_ID = 0;
public static final int COLUMN_INDEX_AUTHOR = 1;
public static final int COLUMN_INDEX_CONTENT = 2;
public static final int COLUMN_INDEX_DATE = 3;
public static final int COLUMN_INDEX_TYPE = 4;
public static final int COLUMN_INDEX_CONTENT_ID = 5;
public static final int COLUMN_INDEX_ALBUM_COVER = 6;
public static final int COLUMN_INDEX_VIEWED = 7;
public static final String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME +
" (" + _ID + " INTEGER PRIMARY KEY ASC AUTOINCREMENT, " +
COLUMN_AUTHOR + " TEXT NOT NULL, " +
COLUMN_CONTENT + " TEXT, " +
COLUMN_DATE + " INTEGER, " +
COLUMN_TYPE + " INTEGER, " +
COLUMN_CONTENT_ID + " TEXT, " +
COLUMN_ALBUM_COVER + " TEXT, " +
COLUMN_VIEWED + " TEXT);";
public static final String GET_REPLIES_SQL = "SELECT * FROM " + TABLE_NAME +
" WHERE " + COLUMN_TYPE + "='" + ImgurNotification.TYPE_REPLY + "'";
public static final String GET_UNREAD_REPLIES_SQL = "SELECT * FROM " + TABLE_NAME +
" WHERE " + COLUMN_TYPE + "='" + ImgurNotification.TYPE_REPLY +
"' AND " + COLUMN_VIEWED + "='0'";
public static final String GET_NOTIFICATION_ID = "SELECT " + _ID + " FROM " + TABLE_NAME
+ " WHERE " + COLUMN_CONTENT_ID + " =?";
public static final String GET_UNREAD_NOTIFICATIONS_SQL = "SELECT " + _ID + " FROM " + TABLE_NAME +
" WHERE " + COLUMN_VIEWED + "='0'";
public static final String DELETE_NOTIFICATIONS_SQL = "DELETE FROM " + TABLE_NAME
+ " WHERE " + _ID + " IN (%s)";
public static final String DELETE_MESSAGE_SQL = "DELETE FROM " + TABLE_NAME
+ " WHERE " + COLUMN_CONTENT_ID + " ='%s'";
}
}