Skip to content

Commit

Permalink
Merge pull request #3096 from wordpress-mobile/product-password
Browse files Browse the repository at this point in the history
Product Password using site credentials
  • Loading branch information
hichamboushaba authored Sep 24, 2024
2 parents 07f0812 + 82511b2 commit fe905a6
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ open class WellSqlConfig : DefaultWellConfig {
annotation class AddOn

override fun getDbVersion(): Int {
return 203
return 204
}

override fun getDbName(): String {
Expand Down Expand Up @@ -2024,6 +2024,35 @@ open class WellSqlConfig : DefaultWellConfig {
db.execSQL("ALTER TABLE WCProductModel ADD BUNDLE_MIN_SIZE REAL")
db.execSQL("ALTER TABLE WCProductModel ADD BUNDLE_MAX_SIZE REAL")
}

203 -> migrateAddOn(ADDON_WOOCOMMERCE, version) {
db.execSQL("DROP TABLE IF EXISTS WCProductModel")
db.execSQL("""
CREATE TABLE WCProductModel (
_id INTEGER PRIMARY KEY AUTOINCREMENT,LOCAL_SITE_ID INTEGER,
REMOTE_PRODUCT_ID INTEGER,NAME TEXT NOT NULL,SLUG TEXT NOT NULL,PERMALINK TEXT NOT NULL,
DATE_CREATED TEXT NOT NULL,DATE_MODIFIED TEXT NOT NULL,TYPE TEXT NOT NULL,STATUS TEXT NOT NULL,
FEATURED INTEGER,CATALOG_VISIBILITY TEXT NOT NULL,DESCRIPTION TEXT NOT NULL,
SHORT_DESCRIPTION TEXT NOT NULL,SKU TEXT NOT NULL,PRICE TEXT NOT NULL,REGULAR_PRICE TEXT NOT NULL,
SALE_PRICE TEXT NOT NULL,ON_SALE INTEGER,TOTAL_SALES INTEGER,PURCHASABLE INTEGER,
DATE_ON_SALE_FROM TEXT NOT NULL,DATE_ON_SALE_TO TEXT NOT NULL,DATE_ON_SALE_FROM_GMT TEXT NOT NULL,
DATE_ON_SALE_TO_GMT TEXT NOT NULL,VIRTUAL INTEGER,DOWNLOADABLE INTEGER,DOWNLOAD_LIMIT INTEGER,
DOWNLOAD_EXPIRY INTEGER,SOLD_INDIVIDUALLY INTEGER,EXTERNAL_URL TEXT NOT NULL,BUTTON_TEXT TEXT NOT NULL,
TAX_STATUS TEXT NOT NULL,TAX_CLASS TEXT NOT NULL,MANAGE_STOCK INTEGER,STOCK_QUANTITY REAL,
STOCK_STATUS TEXT NOT NULL,BACKORDERS TEXT NOT NULL,BACKORDERS_ALLOWED INTEGER,BACKORDERED INTEGER,
SHIPPING_REQUIRED INTEGER,SHIPPING_TAXABLE INTEGER,SHIPPING_CLASS TEXT NOT NULL,SHIPPING_CLASS_ID INTEGER,
REVIEWS_ALLOWED INTEGER,AVERAGE_RATING TEXT NOT NULL,RATING_COUNT INTEGER,PARENT_ID INTEGER,
PURCHASE_NOTE TEXT NOT NULL,MENU_ORDER INTEGER,CATEGORIES TEXT NOT NULL,TAGS TEXT NOT NULL,
IMAGES TEXT NOT NULL,ATTRIBUTES TEXT NOT NULL,VARIATIONS TEXT NOT NULL,DOWNLOADS TEXT NOT NULL,
RELATED_IDS TEXT NOT NULL,CROSS_SELL_IDS TEXT NOT NULL,UPSELL_IDS TEXT NOT NULL,
GROUPED_PRODUCT_IDS TEXT NOT NULL,WEIGHT TEXT NOT NULL,LENGTH TEXT NOT NULL,WIDTH TEXT NOT NULL,
HEIGHT TEXT NOT NULL,METADATA TEXT NOT NULL,BUNDLED_ITEMS TEXT NOT NULL,
COMPOSITE_COMPONENTS TEXT NOT NULL,SPECIAL_STOCK_STATUS TEXT NOT NULL,BUNDLE_MIN_SIZE REAL,
BUNDLE_MAX_SIZE REAL,MIN_ALLOWED_QUANTITY INTEGER,MAX_ALLOWED_QUANTITY INTEGER,
GROUP_OF_QUANTITY INTEGER,COMBINE_VARIATION_QUANTITIES INTEGER,PASSWORD TEXT,IS_SAMPLE_PRODUCT INTEGER
)
""".trimIndent())
}
}
}
db.setTransactionSuccessful()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ data class WCProductModel(@PrimaryKey @Column private var id: Int = 0) : Identif
@Column var maxAllowedQuantity = -1
@Column var groupOfQuantity = -1
@Column var combineVariationQuantities = false
@Column var password: String? = null

@Column var isSampleProduct = false
@JvmName("setIsSampleProduct")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,6 @@ data class ProductApiResponse(
val max_quantity: String? = null,
val group_of_quantity: String? = null,
val combine_variations: String? = null,
@SerializedName("post_password")
val password: String? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ class ProductDtoMapper @Inject constructor(
// Save only the subscription data, the rest of the metadata will be saved separately
metadata = metaData.filter { it.key in WCProductModel.SubscriptionMetadataKeys.ALL_KEYS }
.let { gson.toJson(it) }

password = dto.password

isSampleProduct = dto.metadata?.any {
val metaDataEntry = WCMetaData.fromJson(it.asJsonObject)
metaDataEntry?.let { json ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1999,6 +1999,9 @@ class ProductRestClient @Inject constructor(
}
}
}
if (storedWCProductModel.password != updatedProductModel.password) {
body["post_password"] = updatedProductModel.password.orEmpty()
}

return body
}
Expand Down

0 comments on commit fe905a6

Please sign in to comment.