dev.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. const { dict } = require('@alancnet/material-framework/lib/util')
  2. const users = async (db) => {
  3. const C = require('../../controllers')
  4. const { User, StaffMember, Terminal, Role, Client } = db
  5. const DEVELOPER = await db.upsert(Role, {
  6. name: 'Developer',
  7. key: 'DEV',
  8. permissions: C.auth.permissions.permissions.join(',')
  9. })
  10. const terminals = dict(await Terminal.findAll())
  11. const roles = dict(await Role.findAll())
  12. const [alan] = await db.fill(User,
  13. [
  14. {
  15. name: 'Alan Colon',
  16. email: 'alancnet@gmail.com',
  17. password: 'hello',
  18. roles: [
  19. 'MANAGER',
  20. 'DEV'
  21. ]
  22. }
  23. ],
  24. ['email']
  25. )
  26. const [ adam, bear, charlie, dustin, evelynn, frank, gary, harry ] =
  27. await db.fill(StaffMember,
  28. [
  29. {
  30. name: 'Adam Alvarez',
  31. terminal: 'LAX',
  32. laborCategory: 'WAREHOUSE',
  33. wage: 15
  34. },
  35. {
  36. name: 'Bear Biggs',
  37. terminal: 'LAX',
  38. laborCategory: 'ADMIN',
  39. wage: 15
  40. },
  41. {
  42. name: 'Charlie Chavez',
  43. terminal: 'LAX',
  44. laborCategory: 'OPS',
  45. wage: 15
  46. },
  47. {
  48. name: 'Dustin Dearly',
  49. terminal: 'LAX',
  50. laborCategory: 'DELIVERY',
  51. wage: 15
  52. },
  53. {
  54. name: 'Evelynn Ebert',
  55. terminal: 'LAS',
  56. laborCategory: 'WAREHOUSE',
  57. wage: 15
  58. },
  59. {
  60. name: 'Frank Fudgley',
  61. terminal: 'LAS',
  62. laborCategory: 'ADMIN',
  63. wage: 15
  64. },
  65. {
  66. name: 'Gary Gospel',
  67. terminal: 'LAS',
  68. laborCategory: 'OPS',
  69. wage: 15
  70. },
  71. {
  72. name: 'Harry Havenworth',
  73. terminal: 'LAS',
  74. laborCategory: 'DELIVERY',
  75. wage: 15
  76. },
  77. ],
  78. ['name']
  79. )
  80. const laxLabor = {
  81. workdays: [
  82. {
  83. labor: [
  84. { staffMemberId: adam.id, hours: null },
  85. { staffMemberId: bear.id, hours: null },
  86. { staffMemberId: charlie.id, hours: null },
  87. { staffMemberId: dustin.id, hours: null }
  88. ]
  89. },
  90. {
  91. labor: [
  92. { staffMemberId: adam.id, hours: 5 },
  93. { staffMemberId: bear.id, hours: 10 },
  94. { staffMemberId: charlie.id, hours: 15 },
  95. { staffMemberId: dustin.id, hours: 20 }
  96. ]
  97. },
  98. {
  99. labor: [
  100. { staffMemberId: adam.id, hours: 5 },
  101. { staffMemberId: bear.id, hours: 10 },
  102. { staffMemberId: charlie.id, hours: 15 },
  103. { staffMemberId: dustin.id, hours: 20 }
  104. ]
  105. },
  106. {
  107. labor: [
  108. { staffMemberId: adam.id, hours: 5 },
  109. { staffMemberId: bear.id, hours: 10 },
  110. { staffMemberId: charlie.id, hours: 15 },
  111. { staffMemberId: dustin.id, hours: 20 }
  112. ]
  113. },
  114. {
  115. labor: [
  116. { staffMemberId: adam.id, hours: 5 },
  117. { staffMemberId: bear.id, hours: 10 },
  118. { staffMemberId: charlie.id, hours: 15 },
  119. { staffMemberId: dustin.id, hours: 20 }
  120. ]
  121. },
  122. {
  123. labor: [
  124. { staffMemberId: adam.id, hours: 5 },
  125. { staffMemberId: bear.id, hours: 10 },
  126. { staffMemberId: charlie.id, hours: 15 },
  127. { staffMemberId: dustin.id, hours: 20 }
  128. ]
  129. },
  130. {
  131. labor: [
  132. { staffMemberId: adam.id, hours: null },
  133. { staffMemberId: bear.id, hours: null },
  134. { staffMemberId: charlie.id, hours: null },
  135. { staffMemberId: dustin.id, hours: null }
  136. ]
  137. }
  138. ]
  139. }
  140. const lasLabor = {
  141. workdays: [
  142. {
  143. labor: [
  144. { staffMemberId: evelynn.id, hours: null },
  145. { staffMemberId: frank.id, hours: null },
  146. { staffMemberId: gary.id, hours: null },
  147. { staffMemberId: harry.id, hours: null }
  148. ]
  149. },
  150. {
  151. labor: [
  152. { staffMemberId: evelynn.id, hours: 5 },
  153. { staffMemberId: frank.id, hours: 10 },
  154. { staffMemberId: gary.id, hours: 15 },
  155. { staffMemberId: harry.id, hours: 20 }
  156. ]
  157. },
  158. {
  159. labor: [
  160. { staffMemberId: evelynn.id, hours: 5 },
  161. { staffMemberId: frank.id, hours: 10 },
  162. { staffMemberId: gary.id, hours: 15 },
  163. { staffMemberId: harry.id, hours: 20 }
  164. ]
  165. },
  166. {
  167. labor: [
  168. { staffMemberId: evelynn.id, hours: 5 },
  169. { staffMemberId: frank.id, hours: 10 },
  170. { staffMemberId: gary.id, hours: 15 },
  171. { staffMemberId: harry.id, hours: 20 }
  172. ]
  173. },
  174. {
  175. labor: [
  176. { staffMemberId: evelynn.id, hours: 5 },
  177. { staffMemberId: frank.id, hours: 10 },
  178. { staffMemberId: gary.id, hours: 15 },
  179. { staffMemberId: harry.id, hours: 20 }
  180. ]
  181. },
  182. {
  183. labor: [
  184. { staffMemberId: evelynn.id, hours: 5 },
  185. { staffMemberId: frank.id, hours: 10 },
  186. { staffMemberId: gary.id, hours: 15 },
  187. { staffMemberId: harry.id, hours: 20 }
  188. ]
  189. },
  190. {
  191. labor: [
  192. { staffMemberId: evelynn.id, hours: null },
  193. { staffMemberId: frank.id, hours: null },
  194. { staffMemberId: gary.id, hours: null },
  195. { staffMemberId: harry.id, hours: null }
  196. ]
  197. }
  198. ]
  199. }
  200. const [ lax, las ] = await db.fill(Client, [
  201. {
  202. name: 'Los Angeles Total',
  203. key: 'LAX',
  204. terminal: 'LAX'
  205. },
  206. {
  207. name: 'Las Vegas Total',
  208. key: 'LAS',
  209. terminal: 'LAS'
  210. }
  211. ])
  212. const lasServices = {
  213. workdays: [
  214. { services: [ { clientId: las.id, inbound: null } ] },
  215. { services: [ { clientId: las.id, inbound: 1000 } ] },
  216. { services: [ { clientId: las.id, inbound: 1000 } ] },
  217. { services: [ { clientId: las.id, inbound: 1000 } ] },
  218. { services: [ { clientId: las.id, inbound: 1000 } ] },
  219. { services: [ { clientId: las.id, inbound: 1000 } ] },
  220. { services: [ { clientId: las.id, inbound: null } ] }
  221. ]
  222. }
  223. const laxServices = {
  224. workdays: [
  225. { services: [ { clientId: lax.id, inbound: null } ] },
  226. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  227. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  228. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  229. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  230. { services: [ { clientId: lax.id, inbound: 1000 } ] },
  231. { services: [ { clientId: lax.id, inbound: null } ] }
  232. ]
  233. }
  234. for (let week of ['2018-07-08', '2018-07-01', '2018-06-24']) {
  235. await C.labor.patch({
  236. body: lasLabor,
  237. params: {
  238. terminal: 'LAS',
  239. week
  240. },
  241. }, {
  242. status() { return this },
  243. end() { return this }
  244. })
  245. await C.labor.patch({
  246. body: laxLabor,
  247. params: {
  248. terminal: 'LAX',
  249. week
  250. },
  251. }, {
  252. status() { return this },
  253. end() { return this }
  254. })
  255. await C.services.patch({
  256. body: lasServices,
  257. params: {
  258. terminal: 'LAS',
  259. week
  260. },
  261. }, {
  262. status() { return this },
  263. end() { return this }
  264. })
  265. await C.services.patch({
  266. body: laxServices,
  267. params: {
  268. terminal: 'LAX',
  269. week
  270. },
  271. }, {
  272. status() { return this },
  273. end() { return this }
  274. })
  275. }
  276. console.log('done')
  277. }
  278. const seed = async (db) => {
  279. await users(db)
  280. }
  281. module.exports = Object.assign(seed, {
  282. seed,
  283. users
  284. })