Fix cache issues with creator's logo and banner
This commit is contained in:
@@ -49,7 +49,7 @@ public class ChangeBannerHandler(
|
|||||||
request.File.ContentType,
|
request.File.ContentType,
|
||||||
ct);
|
ct);
|
||||||
|
|
||||||
creator.Images.Banner = blobUrl;
|
creator.Images.Banner = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}";
|
||||||
|
|
||||||
await context.SaveChangesAsync(ct);
|
await context.SaveChangesAsync(ct);
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ public record ChangeLogoRequest(
|
|||||||
Guid CreatorId,
|
Guid CreatorId,
|
||||||
IFormFile File);
|
IFormFile File);
|
||||||
|
|
||||||
|
[PublicAPI]
|
||||||
|
public record ChangeLogoResponse(
|
||||||
|
string BlobUrl);
|
||||||
|
|
||||||
[PublicAPI]
|
[PublicAPI]
|
||||||
public sealed class ChangeLogoRequestValidator : Validator<ChangeLogoRequest>
|
public sealed class ChangeLogoRequestValidator : Validator<ChangeLogoRequest>
|
||||||
{
|
{
|
||||||
@@ -61,10 +65,12 @@ public class ChangeLogoHandler(
|
|||||||
request.File.ContentType,
|
request.File.ContentType,
|
||||||
ct);
|
ct);
|
||||||
|
|
||||||
creator.Images.Logo = blobUrl;
|
creator.Images.Logo = $"{blobUrl}?t={DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}";
|
||||||
|
|
||||||
await context.SaveChangesAsync(ct);
|
await context.SaveChangesAsync(ct);
|
||||||
|
|
||||||
await SendOkAsync(blobUrl, ct);
|
await SendOkAsync(
|
||||||
|
new ChangeLogoResponse(blobUrl),
|
||||||
|
ct);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,12 +68,12 @@ const publish = async () => {
|
|||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
formData.append('file', selectedFile.value)
|
formData.append('file', selectedFile.value)
|
||||||
|
|
||||||
await client.post(
|
const response = await client.post(
|
||||||
`/api/creators/${props.creator.id}/banner`,
|
`/api/creators/${props.creator.id}/banner`,
|
||||||
formData
|
formData
|
||||||
)
|
)
|
||||||
|
|
||||||
props.creator.images.banner = fileUrl
|
props.creator.images.banner = `${response.data.blobUrl}?t=${Date.now()}`
|
||||||
emits('closeRequested')
|
emits('closeRequested')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
|
|||||||
@@ -70,11 +70,11 @@ const publish = async () => {
|
|||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('file', selectedFile.value)
|
formData.append('file', selectedFile.value)
|
||||||
|
|
||||||
await client.post(
|
const response = await client.post(
|
||||||
`/api/creators/${props.creator.id}/logo`,
|
`/api/creators/${props.creator.id}/logo`,
|
||||||
formData)
|
formData)
|
||||||
|
|
||||||
props.creator.images.logo = fileUrl.value;
|
props.creator.images.logo = `${response.data.blobUrl}?t=${Date.now()}`;
|
||||||
emits('closeRequested');
|
emits('closeRequested');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
|
|||||||
Reference in New Issue
Block a user