Merge pull request 'Back-End' (#5) from Back-End into master
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
Reviewed-on: #5master
commit
378abecbb1
@ -0,0 +1,80 @@
|
||||
<mxfile host="app.diagrams.net" modified="2023-09-20T13:12:02.373Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" etag="3fIbn-yQ0z-1iRBMl3H2" version="21.7.5" type="device">
|
||||
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
|
||||
<mxGraphModel dx="2337" dy="1515" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
|
||||
<mxCell id="zkfFHV4jXpPFQw0GAbJ--0" value="Author" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
|
||||
<mxGeometry x="-880" y="-100" width="270" height="290" as="geometry">
|
||||
<mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zkfFHV4jXpPFQw0GAbJ--1" value="Id: string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
|
||||
<mxGeometry y="26" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zkfFHV4jXpPFQw0GAbJ--2" value="Name: string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
|
||||
<mxGeometry y="52" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-1" value="ImageSmall: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="78" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zkfFHV4jXpPFQw0GAbJ--3" value="ImageMedium: string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
|
||||
<mxGeometry y="104" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-2" value="ImageLarge: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="130" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-4" value="Bio: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="156" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-5" value="AlternateNames: List&lt;string&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="182" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-6" value="Links: List&lt;Link&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="208" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-7" value="BirthDate: DateTime?" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="234" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-8" value="DeathDate: DateTime?" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--0">
|
||||
<mxGeometry y="260" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-9" value="Book" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
|
||||
<mxGeometry x="-500" y="-90" width="270" height="290" as="geometry">
|
||||
<mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-10" value="Id: string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="26" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-11" value="Title: string" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="52" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-12" value="Publishers: List&lt;string&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="78" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-13" value="PublishDate: DateTime" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="104" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-14" value="ISBN13: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="130" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-15" value="Series: List&lt;string&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="156" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-16" value="NbPages: int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="182" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-17" value="Links: List&lt;Link&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="208" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-18" value="BirthDate: DateTime?" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="234" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ZLGVB8EPfMX_kU-r60Th-19" value="DeathDate: DateTime?" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="ZLGVB8EPfMX_kU-r60Th-9">
|
||||
<mxGeometry y="260" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
@ -1,22 +1,21 @@
|
||||
using BookApp.Model;
|
||||
using BookApp.Pages;
|
||||
using BookApp.ViewModel;
|
||||
|
||||
namespace BookApp.Composants
|
||||
{
|
||||
public partial class GroupCollection : ContentView
|
||||
{
|
||||
public GroupCollection()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (e.CurrentSelection.FirstOrDefault() is Book selectedItem)
|
||||
{
|
||||
await Navigation.PushAsync(new DetailBook(selectedItem));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using BookApp.ViewModel;
|
||||
using VMWrapper;
|
||||
|
||||
namespace BookApp.Composants
|
||||
{
|
||||
public partial class GroupCollection : ContentView
|
||||
{
|
||||
public ViewModelNavigation Nav { get; } = new ViewModelNavigation();
|
||||
|
||||
public GroupCollection()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public GroupCollection(BooksViewModel data)
|
||||
: this()
|
||||
{
|
||||
BindingContext = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="BookApp.Composants.ToggleSwitchView">
|
||||
<Grid
|
||||
VerticalOptions="FillAndExpand"
|
||||
HorizontalOptions="FillAndExpand"
|
||||
Padding="10">
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackLayout
|
||||
Orientation="Horizontal"
|
||||
HorizontalOptions="Center"
|
||||
VerticalOptions="Center"
|
||||
Grid.Row="0"
|
||||
Spacing="30">
|
||||
|
||||
<Label
|
||||
x:Name="OffLabel"
|
||||
Text="Prêts"
|
||||
Opacity="0.25"
|
||||
VerticalTextAlignment="Center"/>
|
||||
|
||||
<Grid
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Center"
|
||||
Scale="1.5">
|
||||
|
||||
<Switch
|
||||
x:Name="ToggleSwitch"
|
||||
Toggled="OnToggled" />
|
||||
|
||||
</Grid>
|
||||
|
||||
<Label
|
||||
x:Name="OnLabel"
|
||||
Text="Emprunts"
|
||||
Opacity="0.25"
|
||||
VerticalTextAlignment="Center"/>
|
||||
</StackLayout>
|
||||
|
||||
<!-- Autres éléments de l'interface utilisateur si nécessaire -->
|
||||
</Grid>
|
||||
</ContentView>
|
@ -1,68 +1,16 @@
|
||||
using BookApp.Model;
|
||||
using System.Collections.ObjectModel;
|
||||
using BookApp.ViewModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BookApp.Pages;
|
||||
|
||||
public partial class DetailBook : ContentPage
|
||||
namespace BookApp.Pages
|
||||
{
|
||||
private int maxStars = 5;
|
||||
private int currentRating = 0;
|
||||
|
||||
public Book BookDetail { get; set; }
|
||||
|
||||
public DetailBook(Book ItemBook)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
for (int i = 1; i <= maxStars; i++)
|
||||
{
|
||||
var star = new Image
|
||||
{
|
||||
Source = "empty_star.svg", // image d'une étoile vide
|
||||
WidthRequest = 25,
|
||||
HeightRequest = 25
|
||||
};
|
||||
|
||||
int currentStar = i;
|
||||
|
||||
star.GestureRecognizers.Add(
|
||||
new TapGestureRecognizer { Command = new Command(() => StarTapped(currentStar)), }
|
||||
);
|
||||
StarLayout.Children.Add(star);
|
||||
}
|
||||
|
||||
UpdateStars();
|
||||
BookDetail = ItemBook;
|
||||
BindingContext = this;
|
||||
}
|
||||
|
||||
private void StarTapped(int rating)
|
||||
public partial class DetailBook : ContentPage
|
||||
{
|
||||
if (rating > maxStars)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine("Erreur : rating trop élevé!");
|
||||
return;
|
||||
}
|
||||
|
||||
currentRating = rating;
|
||||
UpdateStars();
|
||||
RatingLabel.Text = $"Note: {currentRating}/{maxStars}";
|
||||
}
|
||||
public ViewModelNavigation Nav { get; } = new ViewModelNavigation();
|
||||
|
||||
private void UpdateStars()
|
||||
{
|
||||
for (int i = 0; i < maxStars; i++)
|
||||
public DetailBook(ViewModelDetailProvider VMProvider)
|
||||
{
|
||||
var star = (Image)StarLayout.Children[i];
|
||||
if (i < currentRating)
|
||||
star.Source = "filled_star.svg"; // image d'une étoile remplie
|
||||
else
|
||||
star.Source = "empty_star.svg";
|
||||
InitializeComponent();
|
||||
BindingContext = VMProvider;
|
||||
}
|
||||
}
|
||||
|
||||
async void BackButton(object sender, EventArgs args)
|
||||
{
|
||||
await Shell.Current.Navigation.PopAsync();
|
||||
}
|
||||
}
|
||||
|
@ -1,35 +1,17 @@
|
||||
using BookApp.ViewModel;
|
||||
using System.Windows.Input;
|
||||
using VMWrapper;
|
||||
|
||||
namespace BookApp.Pages;
|
||||
|
||||
public partial class EmpruntsPrets : ContentPage
|
||||
namespace BookApp.Pages
|
||||
{
|
||||
public ICommand TapCommand => new Command(ToggleSwitch);
|
||||
|
||||
private bool _isToggled;
|
||||
|
||||
public bool IsToggled
|
||||
public partial class EmpruntsPrets : ContentPage
|
||||
{
|
||||
get => _isToggled;
|
||||
set
|
||||
public ViewModelNavigation Nav { get; } = new ViewModelNavigation();
|
||||
|
||||
public EmpruntsPrets(BooksViewModel data)
|
||||
{
|
||||
_isToggled = value;
|
||||
OnPropertyChanged();
|
||||
InitializeComponent();
|
||||
BindingContext = data;
|
||||
}
|
||||
}
|
||||
|
||||
public EmpruntsPrets()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
async void BackButton(object sender, EventArgs args)
|
||||
{
|
||||
await Shell.Current.Navigation.PopAsync();
|
||||
}
|
||||
|
||||
private void ToggleSwitch()
|
||||
{
|
||||
IsToggled = !IsToggled;
|
||||
}
|
||||
}
|
||||
|
@ -1,19 +1,20 @@
|
||||
using BookApp.ViewModel;
|
||||
using System.Diagnostics;
|
||||
using VMWrapper;
|
||||
|
||||
namespace BookApp.Pages
|
||||
{
|
||||
[QueryProperty(nameof(Title), "Title")]
|
||||
public partial class Filtrage : ContentPage
|
||||
{
|
||||
SearchBar searchBar = new SearchBar { Placeholder = "Search items..." };
|
||||
private readonly string Title;
|
||||
|
||||
public Filtrage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
public ViewModelNavigation Nav { get; } = new ViewModelNavigation();
|
||||
|
||||
async void BackButton(object sender, EventArgs args)
|
||||
public Filtrage(FilterViewModel data)
|
||||
{
|
||||
await Shell.Current.Navigation.PopAsync();
|
||||
InitializeComponent();
|
||||
BindingContext = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibraryDTO\LibraryDTO.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibraryDTO\LibraryDTO.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\net7.0\LibraryDTO.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Release\net7.0\LibraryDTO.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,9 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
@ -0,0 +1,14 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Model\Model.csproj" />
|
||||
<ProjectReference Include="..\StubbedDTO\StubbedDTO.csproj" />
|
||||
<ProjectReference Include="..\Utils\Utils.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,36 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--<ItemGroup>
|
||||
<None Remove="books\" />
|
||||
<None Remove="authors\" />
|
||||
<None Remove="works\" />
|
||||
<None Remove="ratings\" />
|
||||
<None Remove="authors\OL13066A.json" />
|
||||
</ItemGroup>-->
|
||||
<ItemGroup>
|
||||
<Folder Include="books\" />
|
||||
<Folder Include="authors\" />
|
||||
<Folder Include="works\" />
|
||||
<Folder Include="ratings\" />
|
||||
</ItemGroup>
|
||||
<!--<ItemGroup>
|
||||
<None Include="*\*.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</None>
|
||||
</ItemGroup>-->
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DtoAbstractLayer\DtoAbstractLayer.csproj" />
|
||||
<ProjectReference Include="..\JsonReader\JsonReader.csproj" />
|
||||
<ProjectReference Include="..\LibraryDTO\LibraryDTO.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="*\*.json" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1 @@
|
||||
{"alternate_names": ["Herbert George Wells", "H. Wells"], "type": {"key": "/type/author"}, "key": "/authors/OL13066A", "photos": [14364506, 6255164, 6255163, 5542282], "birth_date": "21 September 1866", "wikipedia": "http://en.wikipedia.org/wiki/H._G._Wells", "title": "(Wells, H. G.(Herbert George))", "fuller_name": "Herbert George Wells", "remote_ids": {"project_gutenberg": "30", "librarything": "wellshg", "goodreads": "880695", "wikidata": "Q42511", "librivox": "146", "isni": "0000000122832703", "viaf": "97006424", "amazon": "B08JKH6BRG"}, "personal_name": "H. G. Wells", "source_records": ["amazon:0353051969", "amazon:1545593752", "amazon:0353360031", "amazon:0343204800", "amazon:0900948442", "amazon:0359695256", "amazon:1541399528", "bwb:9798748338851", "bwb:9798711942399", "amazon:154230038X", "bwb:9798515967789", "amazon:1548545791", "amazon:167576655X", "amazon:1096406985", "amazon:0342716778", "amazon:0343312492", "amazon:1642262722", "amazon:1539515087", "bwb:9798515810764", "bwb:9798594591745", "amazon:2329219377", "bwb:9798588040884", "amazon:151971002X", "amazon:2070500179", "amazon:1535132841", "ia:warofworlds0000well_p4j3", "bwb:9798589404036", "amazon:8380321359", "bwb:9798549302624", "amazon:1530609798", "amazon:1420938495", "amazon:1006147551", "bwb:9798458602198", "bwb:9798520694045", "bwb:9780342740260", "bwb:9798541851458", "bwb:9798653436154", "amazon:9385018116", "amazon:1014334756", "bwb:9798459326819", "bwb:9798796783801", "amazon:1006147721", "amazon:1536901911", "bwb:9798442116618", "bwb:9798446719273", "bwb:9798715872197", "bwb:9798411853216", "bwb:9781398812130", "bwb:9798537902386", "bwb:9798537873945", "bwb:9798578578908", "bwb:9798760273000", "bwb:9798708376572", "bwb:9780342996100", "promise:bwb_daily_pallets_2022-03-17", "bwb:9798833824375", "ia:warofworldsillus0000well", "bwb:9781958437681", "amazon:1298631807", "bwb:9798709836068", "promise:bwb_daily_pallets_2022-08-23", "bwb:9798685274663", "promise:bwb_daily_pallets_2022-08-01", "bwb:9781728974033", "bwb:9781731472441", "bwb:9781790605743", "marc:marc_columbia/Columbia-extract-20221130-030.mrc:206198520:1318", "bwb:9798840336311", "promise:bwb_daily_pallets_2022-12-19", "amazon:8461947932", "bwb:9798364688729", "amazon:201998198X", "bwb:9781549506130"], "name": "H. G. Wells", "death_date": "13 August 1946", "bio": "Herbert George Wells was an English author, best known for his work in the science fiction genre. He was also a prolific writer in many genres, including contemporary novels, history, politics and social commentary.", "latest_revision": 44, "revision": 44, "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "last_modified": {"type": "/type/datetime", "value": "2023-08-31T06:46:36.893522"}}
|
@ -0,0 +1 @@
|
||||
{"location": "Paris, France", "photos": [5548027], "type": {"key": "/type/author"}, "death_date": "24 November 1985", "alternate_names": ["Rene\u0301 Barjavel", "Barjavel Ren\u00e9", "Rene Barjavel", "Barjavel Rene"], "key": "/authors/OL152472A", "source_records": ["amazon:8498724929", "promise:bwb_daily_pallets_2022-03-17", "promise:bwb_daily_pallets_2021-02-03", "amazon:2070361691", "promise:bwb_daily_pallets_2021-02-17"], "birth_date": "1911-01-24", "name": "Ren\u00e9 Barjavel", "bio": "Ren\u00e9 Barjavel born in Nyons, France, the son of a baker. In 1914, while his father served in World War I, his mother ran the bakery, and he was left alone much of the time to discover the world through exploration and reading. His his mother died of sleeping sickness in 1922, when he was just 11 years old, and he was sent to boarding school in Nyons. In 1923, when his father was unable to pay the school's fees to continue his studies, he became the proteg\u00e9 of the school's director, Abel Boisselier, and accompanied him to the college in Cusset. During his stay there, which lasted until he ran out of funds in 1927, he continued to study literature. After leaving school, he worked worked several jobs, including as a real estate agent and a bank employee, until 1929 when he became a journalist in Progress Allier in Moulins.\r\n\r\nIn 1935, he met the publisher Robert Deno\u00ebl, and he moved to Paris to work at \u00c9ditions Deno\u00ebl. In 1936 he married Madeleine de Wattripont. While working at Deno\u00ebl, he continued to work as a journalist for the weekly Le Merle Blanc, where he wrote film reviews. In 1939, he joined the war with Germany and was sent to the Pyrenees, but returned to Paris when the armistice was declared and Deno\u00ebl re-opened his publishing house. During this time, his first novel, Roland, le chevalier plus fort que le lion (Roland, the Knight More Proud than the Lion) (1942), was published, with help from Deno\u00ebl. He wrote Le Voyageur imprudent (Future Times Three) in 1943, and became the first writer to present the famous grandfather paradox of time travel. In 1944 he became literary director at \u00c9ditions Deno\u00ebl. In 1945, Deno\u00ebl was killed.\r\n\r\nAfter the war, and the failure of his latest novel, Le diable l'emporte (The Devil Wins) (1948), he left novel-writing for the cinema. However, he contracted tuberculosis and ran out of money before completing his first project, \"Barabbas, pour qui Dieu ne fut qu\u2019un temps\". He spent some time recovering in the south of France, returning to Paris in 1951.\r\n\r\nHe worked as a screenwriter in Paris, and in 1962 he became involved in science fiction, at that time a growing fiction genre in France. He published the novel Colomb de la lune (Columbus of the Moon) in 1962. In 1968 he published La Nuit des temps (The Ice People), which was very successful and popular, and won the Prix des libraires. In 1969, he began a weekly column in the Sunday newspaper Les Libres Propos. In 1972, he was a co-founder of the Prix de science-fiction Apollo, and was on the jury. In 1981, at age 70, he stopped writing his columns in the Journal du Dimanche and resumed writing novels. He died in 1985, having written over 25 novels and several screenplays.", "wikipedia": "http://en.wikipedia.org/wiki/Ren%C3%A9_Barjavel", "personal_name": "Ren\u00e9 Barjavel", "remote_ids": {"viaf": "99967531", "wikidata": "Q562556", "isni": "0000000109285020"}, "latest_revision": 7, "revision": 7, "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "last_modified": {"type": "/type/datetime", "value": "2023-02-20T12:24:20.987187"}}
|
@ -0,0 +1 @@
|
||||
{"photos": [8567902], "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "latest_revision": 5, "name": "Ted Chiang", "key": "/authors/OL1604887A", "personal_name": "Ted Chiang", "revision": 5, "type": {"key": "/type/author"}, "last_modified": {"type": "/type/datetime", "value": "2020-09-30T12:42:07.389520"}, "remote_ids": {"viaf": "85807457", "wikidata": "Q503095", "isni": "0000000109218979"}}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "Michel Demuth",
|
||||
"personal_name": "Michel Demuth",
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-08-26 02:41:15.604911"
|
||||
},
|
||||
"key": "/authors/OL1846639A",
|
||||
"type": { "key": "/type/author" },
|
||||
"id": 6527877,
|
||||
"revision": 2
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"name": "Michael A. Hiltzik", "personal_name": "Michael A. Hiltzik", "last_modified": {"type": "/type/datetime", "value": "2008-09-07 09:06:34.939911"}, "key": "/authors/OL239209A", "type": {"key": "/type/author"}, "id": 623786, "revision": 2}
|
@ -0,0 +1,34 @@
|
||||
{
|
||||
"personal_name": "Dick, Philip K.",
|
||||
"source_records": [ "amazon:8445007327", "bwb:9780722129562", "amazon:0792776232", "ia:pacificpark0000dick", "amazon:2277213799", "amazon:2266163019", "bwb:9798599263227", "amazon:1433276712", "ia:ejonescreoilmond0000dick", "amazon:6051719164", "amazon:6254493632", "amazon:2277117749", "amazon:1987781619", "amazon:1433248239", "amazon:1480594407" ],
|
||||
"alternate_names": [ "Philip Kindred Dick", "Philip Dick", "Philip Kendred Dick", "Philip K Dick" ],
|
||||
"bio": "Philip Kindred Dick was an American novelist, short story writer, and essayist whose published work during his lifetime was almost entirely in the science fiction genre. Dick explored sociological, political and metaphysical themes in novels dominated by monopolistic corporations, authoritarian governments, and altered states. In his later works, Dick's thematic focus strongly reflected his personal interest in metaphysics and theology. He often drew upon his own life experiences and addressed the nature of drug abuse, paranoia and schizophrenia, and transcendental experiences in novels such as A Scanner Darkly and VALIS.\r\n\r\nSource and more information: [Wikipedia (EN)](http://en.wikipedia.org/wiki/Philip_K._Dick)",
|
||||
"type": { "key": "/type/author" },
|
||||
"death_date": "2 March 1982",
|
||||
"remote_ids": {
|
||||
"isni": "0000000121251093",
|
||||
"wikidata": "Q171091",
|
||||
"viaf": "27063583"
|
||||
},
|
||||
"name": "Philip K. Dick",
|
||||
"links": [
|
||||
{
|
||||
"title": "Wikipedia link to Philip K Dick",
|
||||
"url": "http://en.wikipedia.org/wiki/Philip_K._Dick",
|
||||
"type": { "key": "/type/link" }
|
||||
}
|
||||
],
|
||||
"photos": [ 6295259 ],
|
||||
"birth_date": "16 December 1928",
|
||||
"key": "/authors/OL274606A",
|
||||
"latest_revision": 23,
|
||||
"revision": 23,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-04-01T03:28:50.625462"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2022-11-29T21:21:41.951561"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"name": "Pennac", "last_modified": {"type": "/type/datetime", "value": "2008-04-30 08:14:56.482104"}, "key": "/authors/OL3113661A", "type": {"key": "/type/author"}, "id": 11969949, "revision": 1}
|
@ -0,0 +1 @@
|
||||
{"name": "Gilles Goullet", "last_modified": {"type": "/type/datetime", "value": "2008-04-30 08:14:56.482104"}, "key": "/authors/OL3113900A", "type": {"key": "/type/author"}, "id": 11970651, "revision": 1}
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "H\u00e9l\u00e8ne Collon",
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-04-30 08:14:56.482104"
|
||||
},
|
||||
"key": "/authors/OL3113922A",
|
||||
"type": { "key": "/type/author" },
|
||||
"id": 11970257,
|
||||
"revision": 1
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Alain Damasio",
|
||||
"key": "/authors/OL3980331A",
|
||||
"type": { "key": "/type/author" },
|
||||
"remote_ids": { "wikidata": "Q2829704" },
|
||||
"birth_date": "1 August 1969",
|
||||
"latest_revision": 2,
|
||||
"revision": 2,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-04-30T20:50:18.033121"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2022-12-19T19:05:32.693708"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "latest_revision": 6, "name": "Daniel Pennac", "key": "/authors/OL55888A", "personal_name": "Daniel Pennac", "birth_date": "1944", "revision": 6, "type": {"key": "/type/author"}, "last_modified": {"type": "/type/datetime", "value": "2020-09-30T12:22:32.446485"}, "remote_ids": {"viaf": "29539018", "wikidata": "Q332689", "isni": "0000000121258295"}}
|
@ -0,0 +1 @@
|
||||
{"birth_date": "1802", "key": "/authors/OL5989984A", "personal_name": "Alexandre Dumas", "remote_ids": {"wikidata": "Q38337", "isni": "0000000121012885", "viaf": "51688902"}, "source_records": ["ia:lacomtessedechar0000duma_c0h3", "amazon:0343253933", "ia:sanjianke0008dazh", "amazon:1087918545", "amazon:1361580682", "amazon:1374919551", "amazon:2091870757", "amazon:2363583477", "bwb:9798725078565", "amazon:1374990906", "amazon:1374997609", "amazon:1374828378", "ia:lestroismousquet0000duma_h9z1", "amazon:1080726861", "amazon:1376310082", "amazon:1530054605", "amazon:1548458821", "amazon:2743400463", "amazon:1535180129"], "alternate_names": ["Da Zhong Ma", "Alexander Dumas", "Alejandro Dumas"], "type": {"key": "/type/author"}, "death_date": "1870", "name": "Alexandre Dumas", "title": "(Dumas, Alexandre, 1802-1870)", "photos": [12919454], "latest_revision": 30, "revision": 30, "created": {"type": "/type/datetime", "value": "2008-10-27T00:19:50.151000"}, "last_modified": {"type": "/type/datetime", "value": "2022-09-28T00:27:01.465804"}}
|
@ -0,0 +1,36 @@
|
||||
{
|
||||
"personal_name": "James S. A. Corey",
|
||||
"remote_ids": {
|
||||
"isni": "0000000382626033",
|
||||
"viaf": "266413968",
|
||||
"wikidata": "Q6142591"
|
||||
},
|
||||
"source_records": [ "amazon:1478933771", "amazon:1528822218", "amazon:1456121650", "bwb:9780356510385", "amazon:0678452547", "bwb:9780356517773" ],
|
||||
"alternate_names": [ "Daniel Abraham", "Ty Franck", "James S.A. Corey", "James James S. A. Corey" ],
|
||||
"type": { "key": "/type/author" },
|
||||
"key": "/authors/OL6982995A",
|
||||
"entity_type": "org",
|
||||
"links": [
|
||||
{
|
||||
"title": "Source",
|
||||
"url": "http://www.danielabraham.com/james-s-a-corey/",
|
||||
"type": { "key": "/type/link" }
|
||||
}
|
||||
],
|
||||
"bio": {
|
||||
"type": "/type/text",
|
||||
"value": "James S.A. Corey is the pen name used by collaborators [Daniel Abraham](https://openlibrary.org/authors/OL1427729A/Daniel_Abraham) and [Ty Franck](https://openlibrary.org/authors/OL7523472A/Ty_Franck).\r\n\r\nThe first and last name are taken from Abraham's and Franck's middle names, respectively, and S.A. are the initials of Abraham's daughter."
|
||||
},
|
||||
"photos": [ 11112303 ],
|
||||
"name": "James S. A. Corey",
|
||||
"latest_revision": 13,
|
||||
"revision": 13,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2011-10-20T08:06:05.906616"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2023-05-18T18:14:26.659278"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"source_records": ["bwb:9781801108454"], "type": {"key": "/type/author"}, "personal_name": "Adrian Tchaikovsky", "links": [{"title": "Wikipedia", "url": "https://en.wikipedia.org/wiki/Adrian_Tchaikovsky", "type": {"key": "/type/link"}}], "birth_date": "1972", "name": "Adrian Tchaikovsky", "key": "/authors/OL7468980A", "remote_ids": {"storygraph": "5a684299-8db8-4c82-8f0c-26f2c6c8ad7b", "viaf": "102929550", "wikidata": "Q4685389"}, "latest_revision": 8, "revision": 8, "created": {"type": "/type/datetime", "value": "2019-03-06T04:53:32.329596"}, "last_modified": {"type": "/type/datetime", "value": "2023-08-07T23:24:42.671051"}}
|
@ -0,0 +1,15 @@
|
||||
{
|
||||
"key": "/authors/OL7475792A",
|
||||
"name": "Ada Palmer",
|
||||
"type": { "key": "/type/author" },
|
||||
"latest_revision": 4,
|
||||
"revision": 4,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2019-03-11T19:38:25.579004"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2021-12-07T07:11:29.213401"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"name": "Robert Charles Wilson", "created": {"type": "/type/datetime", "value": "2020-05-08T21:00:30.785249"}, "last_modified": {"type": "/type/datetime", "value": "2020-05-08T21:00:30.785249"}, "latest_revision": 1, "key": "/authors/OL7876839A", "type": {"key": "/type/author"}, "revision": 1}
|
@ -0,0 +1,42 @@
|
||||
{
|
||||
"remote_ids": {
|
||||
"viaf": "59083797",
|
||||
"wikidata": "Q7934",
|
||||
"isni": "0000000121347853"
|
||||
},
|
||||
"name": "Frank Herbert",
|
||||
"source_records": [ "amazon:3870703903", "amazon:2253113190", "amazon:1427228493" ],
|
||||
"alternate_names": [ "Herbert, Frank", "FRANK HERBERT", "Frank HERBERT", "herbert-frank", "frank herbert", "Herbert Frank", "Frank Herbert Dost Korpe", "HERBERT FRANK", "Franck Herbert", "F Herbert" ],
|
||||
"photos": [ 12194537, 7277115, 10643754 ],
|
||||
"links": [
|
||||
{
|
||||
"url": "http://en.wikipedia.org/wiki/Frank_Herbert",
|
||||
"type": { "key": "/type/link" },
|
||||
"title": "Wikipedia English"
|
||||
},
|
||||
{
|
||||
"url": "http://fr.wikipedia.org/wiki/Frank_Herbert",
|
||||
"type": { "key": "/type/link" },
|
||||
"title": "Wikipedia France"
|
||||
}
|
||||
],
|
||||
"key": "/authors/OL79034A",
|
||||
"birth_date": "8 October 1920",
|
||||
"death_date": "11 February 1986",
|
||||
"type": { "key": "/type/author" },
|
||||
"personal_name": "Herbert, Frank.",
|
||||
"bio": {
|
||||
"type": "/type/text",
|
||||
"value": "Real name: Franklin Patrick Herbert Jr."
|
||||
},
|
||||
"latest_revision": 15,
|
||||
"revision": 15,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-04-01T03:28:50.625462"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2021-11-12T11:41:55.357817"
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": { "key": "/type/author" },
|
||||
"name": "Frank Herbert",
|
||||
"key": "/authors/OL9956442A",
|
||||
"source_records": [ "amazon:2221252306" ],
|
||||
"latest_revision": 1,
|
||||
"revision": 1,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2021-11-14T17:07:35.515652"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2021-11-14T17:07:35.515652"
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
{
|
||||
"publishers": [ "Denoe\u0308l" ],
|
||||
"title": "Le voyageur imprudent.",
|
||||
"notes": {
|
||||
"type": "/type/text",
|
||||
"value": "French text."
|
||||
},
|
||||
"identifiers": {
|
||||
"librarything": [ "182578" ],
|
||||
"goodreads": [ "106786" ]
|
||||
},
|
||||
"covers": [ 7267304 ],
|
||||
"languages": [ { "key": "/languages/fre" } ],
|
||||
"isbn_10": [ "2070364852" ],
|
||||
"isbn_13": [ "9782070364852" ],
|
||||
"publish_date": "1958",
|
||||
"publish_country": "fr ",
|
||||
"key": "/books/OL18547803M",
|
||||
"authors": [ { "key": "/authors/OL152472A" } ],
|
||||
"publish_places": [ "Paris" ],
|
||||
"works": [ { "key": "/works/OL11466820W" } ],
|
||||
"type": { "key": "/type/edition" },
|
||||
"local_id": [ "urn:bwbsku:O6-CHO-999" ],
|
||||
"source_records": [ "promise:bwb_daily_pallets_2022-05-23" ],
|
||||
"latest_revision": 7,
|
||||
"revision": 7,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2008-10-17T19:42:31.933490"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2023-01-14T06:54:32.286139"
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
{
|
||||
"publishers": [ "Actes Sud" ],
|
||||
"title": "L'\u00c9veil du L\u00e9viathan",
|
||||
"number_of_pages": 624,
|
||||
"isbn_13": [ "9782330033118" ],
|
||||
"covers": [ 7412481 ],
|
||||
"languages": [ { "key": "/languages/fre" } ],
|
||||
"publish_date": "4 juin 2014",
|
||||
"key": "/books/OL25910297M",
|
||||
"publish_places": [ "France" ],
|
||||
"works": [ { "key": "/works/OL17334140W" } ],
|
||||
"type": { "key": "/type/edition" },
|
||||
"source_records": [ "amazon:2330033117" ],
|
||||
"latest_revision": 5,
|
||||
"revision": 5,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2016-04-22T11:47:01.838591"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2023-02-02T01:19:11.921173"
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
{
|
||||
"publishers": [ "Gallimard" ],
|
||||
"number_of_pages": 736,
|
||||
"covers": [ 7891413 ],
|
||||
"physical_format": "Paperback",
|
||||
"key": "/books/OL26210208M",
|
||||
"isbn_13": [ "9782070464234" ],
|
||||
"pagination": "700",
|
||||
"classifications": {},
|
||||
"title": "La Horde du Contrevent",
|
||||
"identifiers": { "goodreads": [ "25135826" ] },
|
||||
"languages": [ { "key": "/languages/fre" } ],
|
||||
"isbn_10": [ "2070464237" ],
|
||||
"publish_date": "2015",
|
||||
"works": [ { "key": "/works/OL15505243W" } ],
|
||||
"type": { "key": "/type/edition" },
|
||||
"physical_dimensions": "17.8 x 10.8 x centimeters",
|
||||
"local_id": [ "urn:bwbsku:W7-DET-916" ],
|
||||
"source_records": [ "promise:bwb_daily_pallets_2022-09-01" ],
|
||||
"latest_revision": 5,
|
||||
"revision": 5,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2017-01-01T23:14:47.314119"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2022-12-04T13:20:06.799989"
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"publishers": [ "Editions Gallimard" ],
|
||||
"source_records": [ "amazon:2070793109" ],
|
||||
"title": "La m\u00e9nagerie de papier",
|
||||
"identifiers": { "amazon": [ "2070793109" ] },
|
||||
"isbn_13": [ "9782070793105" ],
|
||||
"covers": [ 8750266 ],
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2019-08-05T10:36:44.503432"
|
||||
},
|
||||
"physical_format": "mass market paperback",
|
||||
"isbn_10": [ "2070793109" ],
|
||||
"latest_revision": 1,
|
||||
"key": "/books/OL27258011M",
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2019-08-05T10:36:44.503432"
|
||||
},
|
||||
"works": [ { "key": "/works/OL20078005W" } ],
|
||||
"type": { "key": "/type/edition" },
|
||||
"revision": 1
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
{
|
||||
"publishers": [ "Folio", "FOLIO", "GALLIMARD" ],
|
||||
"source_records": [ "amazon:207285329X" ],
|
||||
"title": "Dans la toile du temps",
|
||||
"identifiers": { "amazon": [ "207285329X" ] },
|
||||
"isbn_13": [ "9782072853296" ],
|
||||
"covers": [ 8792712 ],
|
||||
"physical_format": "mass market paperback",
|
||||
"isbn_10": [ "207285329X" ],
|
||||
"publish_date": "2019",
|
||||
"key": "/books/OL27328194M",
|
||||
"authors": [ { "key": "/authors/OL7468980A" } ],
|
||||
"works": [ { "key": "/works/OL20148560W" } ],
|
||||
"type": { "key": "/type/edition" },
|
||||
"number_of_pages": 704,
|
||||
"latest_revision": 2,
|
||||
"revision": 2,
|
||||
"created": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2019-10-02T21:11:02.625762"
|
||||
},
|
||||
"last_modified": {
|
||||
"type": "/type/datetime",
|
||||
"value": "2023-04-07T18:08:17.514602"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue