import { Params, RequestModel } from "./abstractions"


// Blog requests -----------------------------------------------------
export interface GetBlogcatalogPathParams extends Params {}
export interface GeBlogCatalogSearchParams extends Params {}


export interface GetBlogCatalogRequestModel extends RequestModel<GetBlogcatalogPathParams, GeBlogCatalogSearchParams> {
  category?: string,
  searchText?: string,
  currentPage?: string,
  itemsPerPage?: string
}

// --------------------------------------------------------------------
export interface GetBlogCategoriesPathParams extends Params {}
export interface GetBlogCategoriesSearchParams extends Params {}
export interface GetBlogCategoriesRequestModel extends RequestModel<GetBlogCategoriesPathParams, GetBlogCategoriesSearchParams> { }

// --------------------------------------------------------------------

export interface GetBlogItemPathParams extends Params {}
export interface GetBlogItemSearchParams extends Params {
  slug: string
}
export interface GetBlogItemRequestModel extends RequestModel<GetBlogItemPathParams, GetBlogItemSearchParams> {
  
}


// ---------------------------------------------------------------------
export interface GetBlogFeaturedPathParams extends Params {}
export interface GetBlogFeaturedSearchParams extends Params {}
export interface GetBlogFeaturedRequestModel extends RequestModel<GetBlogFeaturedPathParams, GetBlogFeaturedSearchParams> { }



// Static content -------------------------------------------------
export interface GetContentPathParams extends Params {}

export interface GetContentSearchParams extends Params {
  locale?: string
}

export interface GetContentRequestModel extends RequestModel<GetContentPathParams, GetContentSearchParams> { }




// Shop requests -------------------------------------------------
export interface GetShopCatalogPathParams extends Params {}
export interface GetShopCatalogSearchParams extends Params {
  category?: string,
  searchText?: string,
  currentPage?: string,
  itemsPerPage?: string
}

export interface GetShopCatalogRequestModel extends RequestModel<GetShopCatalogPathParams, GetShopCatalogSearchParams> { }

// Shop cart items ------------------------------------------------
export interface GetShopCartItemsPathParams extends Params {
  userId: string
}

export interface GetShopCartItemsSearchParams extends Params {
  userId: string
}

export interface GetShopCartItemsRequestModel extends RequestModel<GetShopCartItemsPathParams, GetShopCartItemsSearchParams> {}




// -------------------------------------------------------------------

export interface GetShopCategoriesPathParams extends Params {}
export interface GetShopCategoriesSearchParams extends Params {}
export interface GetShopCategoriesRequestModel extends RequestModel<GetShopCategoriesPathParams, GetShopCategoriesSearchParams>  { }


// ------------------------------------------------------------------
export interface GetShopFeaturedSearchParams extends Params {}
export interface GetShopFeaturedPathParams extends Params {}
export interface GetShopFeaturedRequestModel extends RequestModel<GetShopFeaturedSearchParams, GetShopFeaturedPathParams> { }


// -------------------------------------------------------------------
export interface GetShopItemPathParams extends Params {}
export interface GetShopItemSearchParams extends Params {
  slug: string
}
export interface GetShopItemRequestModel extends RequestModel<GetShopItemPathParams, GetShopItemSearchParams> {
  
}

// -------------------------------------------------------------------
export interface GetShopRelatedPathParams extends Params {}
export interface GetShopRelatedSearchParams extends Params {}
export interface GetShopRelatedRequestModel extends RequestModel<GetShopRelatedPathParams, GetShopRelatedSearchParams> { }

// -------------------------------------------------------------------
export interface GetShopCartItemPathParams extends Params {}
export interface GetShopCartItemSearchParams extends Params {}

export interface GetShopCartItemRequestModel extends RequestModel<GetShopCartItemPathParams, GetShopCartItemSearchParams> {}
