mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-28 18:20:42 +00:00
chore(schema): add upsert
This commit is contained in:
parent
1825f8bd9b
commit
ae11e1e204
3 changed files with 24 additions and 1 deletions
|
|
@ -6,7 +6,13 @@ import {
|
|||
selectAll<%= classify(name)%>s,
|
||||
select<%= classify(name)%>ById,
|
||||
} from './store/<%= camelize(name)%>.reducer';
|
||||
import {Add<%= classify(name)%>, Delete<%= classify(name)%>, Load<%= classify(name)%>State, Update<%= classify(name)%>} from './store/<%= dasherize(name)%>.actions';
|
||||
import {
|
||||
Add<%= classify(name)%>,
|
||||
Delete<%= classify(name)%>,
|
||||
Load<%= classify(name)%>State,
|
||||
Update<%= classify(name)%>,
|
||||
Upsert<%= classify(name)%>,
|
||||
} from './store/<%= dasherize(name)%>.actions';
|
||||
import {Observable} from 'rxjs';
|
||||
import {<%= classify(name)%>, <%= classify(name)%>State} from './<%= dasherize(name)%>.model';
|
||||
import shortid from 'shortid';
|
||||
|
|
@ -52,4 +58,8 @@ export class <%= classify(name)%>Service {
|
|||
update<%= classify(name)%>(id: string, changes: Partial<<%= classify(name)%>>) {
|
||||
this._store$.dispatch(new Update<%= classify(name)%>({<%= camelize(name)%>: {id, changes}}));
|
||||
}
|
||||
|
||||
upsert<%= classify(name)%>(metric: <%= classify(name)%>) {
|
||||
this._store$.dispatch(new Upsert<%= classify(name)%>({metric}));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ export enum <%= classify(name)%>ActionTypes {
|
|||
Load<%= classify(name)%>State = '[<%= classify(name)%>] Load <%= classify(name)%> State',
|
||||
Add<%= classify(name)%> = '[<%= classify(name)%>] Add <%= classify(name)%>',
|
||||
Update<%= classify(name)%> = '[<%= classify(name)%>] Update <%= classify(name)%>',
|
||||
Upsert<%= classify(name)%> = '[<%= classify(name)%>] Upsert <%= classify(name)%>',
|
||||
Delete<%= classify(name)%> = '[<%= classify(name)%>] Delete <%= classify(name)%>',
|
||||
}
|
||||
|
||||
|
|
@ -30,6 +31,13 @@ export class Update<%= classify(name)%> implements Action {
|
|||
}
|
||||
}
|
||||
|
||||
export class Upsert<%= classify(name)%> implements Action {
|
||||
readonly type = <%= classify(name)%>ActionTypes.Upsert<%= classify(name)%>;
|
||||
|
||||
constructor(public payload: { <%= camelize(name)%>: <%= classify(name)%> }) {
|
||||
}
|
||||
}
|
||||
|
||||
export class Delete<%= classify(name)%> implements Action {
|
||||
readonly type = <%= classify(name)%>ActionTypes.Delete<%= classify(name)%>;
|
||||
|
||||
|
|
@ -42,5 +50,6 @@ export type <%= classify(name)%>Actions =
|
|||
Load<%= classify(name)%>State
|
||||
| Add<%= classify(name)%>
|
||||
| Update<%= classify(name)%>
|
||||
| Upsert<%= classify(name)%>
|
||||
| Delete<%= classify(name)%>
|
||||
;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@ export function <%= camelize(name) %>Reducer(
|
|||
return adapter.updateOne(action.payload.<%= camelize(name) %>, state);
|
||||
}
|
||||
|
||||
case <%= classify(name)%>ActionTypes.Upsert<%= classify(name)%>: {
|
||||
return adapter.upsertOne(action.payload.<%= camelize(name) %>, state);
|
||||
}
|
||||
|
||||
case <%= classify(name)%>ActionTypes.Delete<%= classify(name)%>: {
|
||||
return adapter.removeOne(action.payload.id, state);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue