2022-05-21 16:50:56 -05:00
|
|
|
import { writable, derived } from 'svelte/store';
|
2022-05-22 04:48:38 -05:00
|
|
|
import lodash from 'lodash-es';
|
2022-07-01 12:00:12 -05:00
|
|
|
import _ from 'lodash';
|
2022-05-21 16:50:56 -05:00
|
|
|
import moment from 'moment';
|
2022-07-10 21:41:45 -05:00
|
|
|
import { api, AssetResponseDto } from '@api';
|
|
|
|
|
export const assets = writable<AssetResponseDto[]>([]);
|
2022-05-21 16:50:56 -05:00
|
|
|
|
2022-05-27 14:02:06 -05:00
|
|
|
export const assetsGroupByDate = derived(assets, ($assets) => {
|
2022-06-19 08:16:35 -05:00
|
|
|
try {
|
|
|
|
|
return lodash
|
|
|
|
|
.chain($assets)
|
2022-07-03 18:00:56 -05:00
|
|
|
.groupBy((a) => moment(a.createdAt).format('ddd, MMM DD YYYY'))
|
2022-06-19 08:16:35 -05:00
|
|
|
.sortBy((group) => $assets.indexOf(group[0]))
|
|
|
|
|
.value();
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
});
|
2022-05-21 16:50:56 -05:00
|
|
|
|
2022-05-27 14:02:06 -05:00
|
|
|
export const flattenAssetGroupByDate = derived(assetsGroupByDate, ($assetsGroupByDate) => {
|
2022-06-19 08:16:35 -05:00
|
|
|
return $assetsGroupByDate.flat();
|
|
|
|
|
});
|
2022-05-27 14:02:06 -05:00
|
|
|
|
2022-07-16 23:52:00 -05:00
|
|
|
export const getAssetsInfo = async () => {
|
2022-07-10 21:41:45 -05:00
|
|
|
const { data } = await api.assetApi.getAllAssets();
|
|
|
|
|
assets.set(data);
|
2022-06-19 08:16:35 -05:00
|
|
|
};
|